From 0c23d173044ed1452b2b6e124b7995ebc1d6c24c Mon Sep 17 00:00:00 2001 From: Vadim Kurland Date: Mon, 17 May 2010 19:32:14 +0000 Subject: [PATCH] * RuleSetViewDelegate.cpp (RuleSetViewDelegate::paintOptions): fixed #1460 "when "show icons in rules" is turned off, there is no way to tell when logging is turned on and non-default options are present in a rule". * fixed #1339 "Logging" icon appears looking the same as "Rule options" icon on Mac --- build_num | 2 +- doc/ChangeLog | 10 + src/gui/MainRes.qrc | 721 ++++++++++++++++---------------- src/gui/RuleSetViewDelegate.cpp | 59 ++- src/gui/utils.cpp | 27 +- src/gui/utils.h | 4 +- 6 files changed, 427 insertions(+), 396 deletions(-) diff --git a/build_num b/build_num index 9019a9bdd..5a0b9cfb6 100644 --- a/build_num +++ b/build_num @@ -1 +1 @@ -#define BUILD_NUM 2906 +#define BUILD_NUM 2907 diff --git a/doc/ChangeLog b/doc/ChangeLog index 075d224c0..4acb78278 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,13 @@ +2010-05-17 vadim + + * RuleSetViewDelegate.cpp (RuleSetViewDelegate::paintOptions): + fixed #1460 "when "show icons in rules" is turned off, there is no + way to tell when logging is turned on and non-default options are + present in a rule". + + * fixed #1339 "Logging" icon appears looking the same as "Rule + options" icon on Mac + 2010-05-15 Vadim Kurland * linux24Interfaces.cpp (linux24Interfaces::basicValidateInterfaceName): diff --git a/src/gui/MainRes.qrc b/src/gui/MainRes.qrc index 864fe181b..0b59e6ffb 100644 --- a/src/gui/MainRes.qrc +++ b/src/gui/MainRes.qrc @@ -1,363 +1,362 @@ - - Icons/accept_25.png - Icons/accept_64.png - Icons/accept_16.png - Icons/accounting_25.png - Icons/accounting_64.png - Icons/accounting_16.png - Icons/rangeaddress_25.png - Icons/rangeaddress_64.png - Icons/rangeaddress-neg_25.png - Icons/rangeaddress-neg_16.png - Icons/rangeaddress-ref_25.png - Icons/rangeaddress_16.png - Icons/addresstable_25.png - Icons/addresstable_64.png - Icons/addresstable-neg_25.png - Icons/addresstable-neg_16.png - Icons/addresstable-ref_25.png - Icons/addresstable_16.png - Icons/blank.png - Icons/blank.png - Icons/both_25.png - Icons/both_64.png - Icons/both_16.png - Icons/branch_25.png - Icons/branch_64.png - Icons/branch_16.png - Icons/classify_25.png - Icons/classify_64.png - Icons/classify_16.png - Icons/cluster_25.png - Icons/cluster_64.png - Icons/cluster-neg_25.png - Icons/cluster-neg_16.png - Icons/cluster-ref_25.png - Icons/cluster_16.png - Icons/user_25.png - Icons/user_64.png - Icons/user-neg_25.png - Icons/user-ref_25.png - Icons/user_16.png - Icons/compile_25.png - Icons/continue_25.png - Icons/continue_64.png - Icons/continue_64.png - Icons/continue_16.png - Icons/custom_25.png - Icons/custom_64.png - Icons/custom_16.png - Icons/service-custom_25.png - Icons/service-custom_64.png - Icons/service-custom-neg_25.png - Icons/service-custom-neg_16.png - Icons/service-custom-ref_25.png - Icons/service-custom_16.png - Icons/domainname_25.png - Icons/domainname_64.png - Icons/domainname-neg_25.png - Icons/domainname-neg_16.png - Icons/domainname-ref_25.png - Icons/domainname_16.png - Icons/deny_25.png - Icons/deny_64.png - Icons/deny_16.png - Icons/failover-cluster-group_25.png - Icons/failover-cluster-group_64.png - Icons/failover-cluster-group-neg_25.png - Icons/failover-cluster-group-neg_16.png - Icons/failover-cluster-group-ref_25.png - Icons/failover-cluster-group_16.png - Icons/firewall_25.png - Icons/firewall_64.png - Icons/firewall-neg_25.png - Icons/firewall-neg_16.png - Icons/firewall-ref_25.png - Icons/firewall_16.png - Icons/host_25.png - Icons/host_64.png - Icons/host-neg_25.png - Icons/host-neg_16.png - Icons/host-ref_25.png - Icons/host_16.png - Icons/service-icmp6_25.png - Icons/service-icmp6_64.png - Icons/service-icmp6-neg_25.png - Icons/service-icmp6-neg_16.png - Icons/service-icmp6-ref_25.png - Icons/service-icmp6_16.png - Icons/service-icmp_25.png - Icons/service-icmp_64.png - Icons/service-icmp-neg_25.png - Icons/service-icmp-neg_16.png - Icons/service-icmp-ref_25.png - Icons/service-icmp_16.png - Icons/service-ip_25.png - Icons/service-ip_64.png - Icons/service-ip-neg_25.png - Icons/service-ip-neg_16.png - Icons/service-ip-ref_25.png - Icons/service-ip_16.png - Icons/address_25.png - Icons/address_64.png - Icons/address-neg_25.png - Icons/address-neg_16.png - Icons/address-ref_25.png - Icons/address_16.png - Icons/address6_25.png - Icons/address6_64.png - Icons/address6-neg_25.png - Icons/address6-neg_16.png - Icons/address6-ref_25.png - Icons/address6_16.png - Icons/inbound_25.png - Icons/inbound_64.png - Icons/inbound_16.png - Icons/install_25.png - Icons/interface_25.png - Icons/interface_64.png - Icons/interface-neg_25.png - Icons/interface-neg_16.png - Icons/interface-ref_25.png - Icons/interface_16.png - Icons/clock_25.png - Icons/clock_64.png - Icons/clock-neg_25.png - Icons/clock-neg_16.png - Icons/clock-ref_25.png - Icons/clock_16.png - Icons/clock-group_25.png - Icons/clock-group_64.png - Icons/clock-group-neg_25.png - Icons/clock-group-neg_16.png - Icons/clock-group-ref_25.png - Icons/clock-group_16.png - Icons/library_25.png - Icons/library_64.png - Icons/library-neg_25.png - Icons/library-neg_16.png - Icons/library-ref_25.png - Icons/library_16.png - Icons/log_25.png - Icons/log_64.png - Icons/log_16.png - Icons/nat_25.png - Icons/nat_64.png - Icons/nat_16.png - Icons/branch_25.png - Icons/branch_64.png - Icons/branch_16.png - Icons/network_25.png - Icons/network_64.png - Icons/network-neg_25.png - Icons/network-neg_16.png - Icons/network-ref_25.png - Icons/network_16.png - Icons/network6_25.png - Icons/network6_64.png - Icons/network6-neg_25.png - Icons/network6-neg_16.png - Icons/network6-ref_25.png - Icons/network6_16.png - Icons/object-group_25.png - Icons/object-group_64.png - Icons/object-group-neg_25.png - Icons/object-group-neg_16.png - Icons/object-group-ref_25.png - Icons/object-group_16.png - Icons/options_25.png - Icons/options_64.png - Icons/options_16.png - Icons/outbound_25.png - Icons/outbound_64.png - Icons/outbound_16.png - Icons/pipe_25.png - Icons/pipe_64.png - Icons/pipe_16.png - Icons/ruleset_25.png - Icons/ruleset_64.png - Icons/ruleset_16.png - Icons/reject_25.png - Icons/reject_64.png - Icons/reject_16.png - Icons/back_25.png - Icons/route_25.png - Icons/route_64.png - Icons/route_16.png - Icons/routing_25.png - Icons/routing_64.png - Icons/route_16.png - Icons/routing_16.png - Icons/service-group_25.png - Icons/service-group_64.png - Icons/service-group-neg_25.png - Icons/service-group-neg_16.png - Icons/service-group-ref_25.png - Icons/service-group_16.png - Icons/state-sync-cluster-group_25.png - Icons/state-sync-cluster-group_64.png - Icons/state-sync-cluster-group-neg_25.png - Icons/state-sync-cluster-group-neg_16.png - Icons/state-sync-cluster-group-ref_25.png - Icons/state-sync-cluster-group_16.png - Icons/folder_25.png - Icons/folder_64.png - Icons/folder_16.png - Icons/service-tcp_25.png - Icons/service-tcp_64.png - Icons/service-tcp-neg_25.png - Icons/service-tcp-neg_16.png - Icons/service-tcp-ref_25.png - Icons/service-tcp_16.png - Icons/tag_25.png - Icons/tag_64.png - Icons/tag_16.png - Icons/service-tag_25.png - Icons/service-tag_64.png - Icons/service-tag-neg_25.png - Icons/service-tag-neg_16.png - Icons/service-tag-ref_25.png - Icons/service-tag_16.png - Icons/translate_25.png - Icons/translate_16.png - Icons/service-udp_25.png - Icons/service-udp_64.png - Icons/service-udp-neg_25.png - Icons/service-udp-neg_16.png - Icons/service-udp-ref_25.png - Icons/service-udp_16.png - Icons/user_25.png - Icons/user_64.png - Icons/user-neg_25.png - Icons/user-neg_16.png - Icons/user-ref_25.png - Icons/user_16.png - Icons/lock.png - Icons/neg.png - Icons/physaddress_25.png - Icons/physaddress_64.png - Icons/physaddress-neg_25.png - Icons/physaddress-ref_25.png - Icons/physaddress_16.png - Icons/add.png - Icons/apply.png - Icons/back_32.png - Icons/big-down-arrow.png - Icons/big-left-arrow.png - Icons/big-right-arrow.png - Icons/big-up-arrow.png - Icons/blank_2x16.png - Icons/books1.png - Icons/cancel.png - Icons/close.png - Icons/del.png - Icons/down-arrow.png - Icons/drag_object.png - Icons/error.png - Icons/firewall_64.png - Icons/firewall_64.xpm - Icons/floppy.png - Icons/folder1.png - Icons/generic.png - Icons/host_64.png - Icons/host_64.xpm - Icons/info_16.png - Icons/info_25.png - Icons/key.png - Icons/left-arrow.png - Icons/log.png - Icons/newfile_25.png - Icons/newobject_25.png - Icons/newobject_32.png - Icons/no.png - Icons/ok.png - Icons/openfile_25.png - Icons/protect_host.png - Icons/protect_net.png - Icons/protect_net_and_dmz.png - Icons/question.png - Icons/redo.png - Icons/ref.png - Icons/right-arrow.png - Icons/rules_druid_logo.png - Icons/save_25.png - Icons/search_25.png - Icons/stop.png - Icons/uncheck.png - Icons/undo.png - Icons/up-arrow.png - Icons/warning.png - Icons/yes.png - Images/fwbuilder3-128x128.png - Images/fwbuilder3.png - Tutorial/getting_started/html/page0.html - Tutorial/getting_started/html/page1.html - Tutorial/getting_started/html/page2.html - Tutorial/getting_started/html/page3.html - Tutorial/getting_started/html/page4.html - Tutorial/getting_started/html/page5.html - Tutorial/getting_started/html/page6.html - Tutorial/getting_started/html/page7.html - Tutorial/getting_started/html/page8.html - Tutorial/getting_started/html/page9.html - Tutorial/getting_started/html/page10.html - Tutorial/getting_started/html/page11.html - Tutorial/getting_started/html/page12.html - Tutorial/getting_started/html/page13.html - Tutorial/getting_started/html/page14.html - Tutorial/getting_started/html/page15.html - Tutorial/getting_started/html/page16.html - Tutorial/getting_started/html/page17.html - Tutorial/getting_started/html/page18.html - Tutorial/getting_started/html/page19.html - Tutorial/getting_started/html/page20.html - Tutorial/getting_started/html/page21.html - Tutorial/getting_started/html/page22.html - Tutorial/getting_started/html/page23.html - Tutorial/getting_started/html/page24.html - Tutorial/getting_started/html/page25.html - Tutorial/getting_started/html/page26.html - Tutorial/getting_started/html/page27.html - Tutorial/getting_started/html/page28.html - Tutorial/getting_started/html/page29.html - Tutorial/getting_started/html/page30.html - Tutorial/getting_started/html/page31.html - Tutorial/getting_started/html/page32.html - Tutorial/getting_started/images/0.png - Tutorial/getting_started/images/1.png - Tutorial/getting_started/images/2.png - Tutorial/getting_started/images/3.png - Tutorial/getting_started/images/4.png - Tutorial/getting_started/images/5.png - Tutorial/getting_started/images/6.png - Tutorial/getting_started/images/7.png - Tutorial/getting_started/images/8.png - Tutorial/getting_started/images/9-1.png - Tutorial/getting_started/images/9-2.png - Tutorial/getting_started/images/10.png - Tutorial/getting_started/images/11.png - Tutorial/getting_started/images/12.png - Tutorial/getting_started/images/13.png - Tutorial/getting_started/images/14.png - Tutorial/getting_started/images/15.png - Tutorial/getting_started/images/16.png - Tutorial/getting_started/images/17.png - Tutorial/getting_started/images/18.png - Tutorial/getting_started/images/19.png - Tutorial/getting_started/images/20.png - Tutorial/getting_started/images/21.png - Tutorial/getting_started/images/22.png - Tutorial/getting_started/images/23.png - Tutorial/getting_started/images/24.png - Tutorial/getting_started/images/25.png - Tutorial/getting_started/images/26.png - Tutorial/getting_started/images/27.png - Tutorial/getting_started/images/28.png - Tutorial/getting_started/images/29.png - Tutorial/getting_started/images/30.png - Tutorial/getting_started/images/32.png - Tutorial/getting_started/images/new_button.png - Tutorial/getting_started/stylesheets/style.css - + + Icons/accept_25.png + Icons/accept_64.png + Icons/accept_16.png + Icons/accounting_25.png + Icons/accounting_64.png + Icons/accounting_16.png + Icons/rangeaddress_25.png + Icons/rangeaddress_64.png + Icons/rangeaddress-neg_25.png + Icons/rangeaddress-neg_16.png + Icons/rangeaddress-ref_25.png + Icons/rangeaddress_16.png + Icons/addresstable_25.png + Icons/addresstable_64.png + Icons/addresstable-neg_25.png + Icons/addresstable-neg_16.png + Icons/addresstable-ref_25.png + Icons/addresstable_16.png + Icons/blank.png + Icons/blank.png + Icons/both_25.png + Icons/both_64.png + Icons/both_16.png + Icons/branch_25.png + Icons/branch_64.png + Icons/branch_16.png + Icons/classify_25.png + Icons/classify_64.png + Icons/classify_16.png + Icons/cluster_25.png + Icons/cluster_64.png + Icons/cluster-neg_25.png + Icons/cluster-neg_16.png + Icons/cluster-ref_25.png + Icons/cluster_16.png + Icons/user_25.png + Icons/user_64.png + Icons/user-neg_25.png + Icons/user-ref_25.png + Icons/user_16.png + Icons/compile_25.png + Icons/continue_25.png + Icons/continue_64.png + Icons/continue_64.png + Icons/continue_16.png + Icons/custom_25.png + Icons/custom_64.png + Icons/custom_16.png + Icons/service-custom_25.png + Icons/service-custom_64.png + Icons/service-custom-neg_25.png + Icons/service-custom-neg_16.png + Icons/service-custom-ref_25.png + Icons/service-custom_16.png + Icons/domainname_25.png + Icons/domainname_64.png + Icons/domainname-neg_25.png + Icons/domainname-neg_16.png + Icons/domainname-ref_25.png + Icons/domainname_16.png + Icons/deny_25.png + Icons/deny_64.png + Icons/deny_16.png + Icons/failover-cluster-group_25.png + Icons/failover-cluster-group_64.png + Icons/failover-cluster-group-neg_25.png + Icons/failover-cluster-group-neg_16.png + Icons/failover-cluster-group-ref_25.png + Icons/failover-cluster-group_16.png + Icons/firewall_25.png + Icons/firewall_64.png + Icons/firewall-neg_25.png + Icons/firewall-neg_16.png + Icons/firewall-ref_25.png + Icons/firewall_16.png + Icons/host_25.png + Icons/host_64.png + Icons/host-neg_25.png + Icons/host-neg_16.png + Icons/host-ref_25.png + Icons/host_16.png + Icons/service-icmp6_25.png + Icons/service-icmp6_64.png + Icons/service-icmp6-neg_25.png + Icons/service-icmp6-neg_16.png + Icons/service-icmp6-ref_25.png + Icons/service-icmp6_16.png + Icons/service-icmp_25.png + Icons/service-icmp_64.png + Icons/service-icmp-neg_25.png + Icons/service-icmp-neg_16.png + Icons/service-icmp-ref_25.png + Icons/service-icmp_16.png + Icons/service-ip_25.png + Icons/service-ip_64.png + Icons/service-ip-neg_25.png + Icons/service-ip-neg_16.png + Icons/service-ip-ref_25.png + Icons/service-ip_16.png + Icons/address_25.png + Icons/address_64.png + Icons/address-neg_25.png + Icons/address-neg_16.png + Icons/address-ref_25.png + Icons/address_16.png + Icons/address6_25.png + Icons/address6_64.png + Icons/address6-neg_25.png + Icons/address6-neg_16.png + Icons/address6-ref_25.png + Icons/address6_16.png + Icons/inbound_25.png + Icons/inbound_64.png + Icons/inbound_16.png + Icons/install_25.png + Icons/interface_25.png + Icons/interface_64.png + Icons/interface-neg_25.png + Icons/interface-neg_16.png + Icons/interface-ref_25.png + Icons/interface_16.png + Icons/clock_25.png + Icons/clock_64.png + Icons/clock-neg_25.png + Icons/clock-neg_16.png + Icons/clock-ref_25.png + Icons/clock_16.png + Icons/clock-group_25.png + Icons/clock-group_64.png + Icons/clock-group-neg_25.png + Icons/clock-group-neg_16.png + Icons/clock-group-ref_25.png + Icons/clock-group_16.png + Icons/library_25.png + Icons/library_64.png + Icons/library-neg_25.png + Icons/library-neg_16.png + Icons/library-ref_25.png + Icons/library_16.png + Icons/log_25.png + Icons/log_64.png + Icons/log_16.png + Icons/nat_25.png + Icons/nat_64.png + Icons/nat_16.png + Icons/branch_25.png + Icons/branch_64.png + Icons/branch_16.png + Icons/network_25.png + Icons/network_64.png + Icons/network-neg_25.png + Icons/network-neg_16.png + Icons/network-ref_25.png + Icons/network_16.png + Icons/network6_25.png + Icons/network6_64.png + Icons/network6-neg_25.png + Icons/network6-neg_16.png + Icons/network6-ref_25.png + Icons/network6_16.png + Icons/object-group_25.png + Icons/object-group_64.png + Icons/object-group-neg_25.png + Icons/object-group-neg_16.png + Icons/object-group-ref_25.png + Icons/object-group_16.png + Icons/options_25.png + Icons/options_64.png + Icons/options_16.png + Icons/outbound_25.png + Icons/outbound_64.png + Icons/outbound_16.png + Icons/pipe_25.png + Icons/pipe_64.png + Icons/pipe_16.png + Icons/ruleset_25.png + Icons/ruleset_64.png + Icons/ruleset_16.png + Icons/reject_25.png + Icons/reject_64.png + Icons/reject_16.png + Icons/back_25.png + Icons/route_25.png + Icons/route_64.png + Icons/route_16.png + Icons/routing_25.png + Icons/routing_64.png + Icons/route_16.png + Icons/routing_16.png + Icons/service-group_25.png + Icons/service-group_64.png + Icons/service-group-neg_25.png + Icons/service-group-neg_16.png + Icons/service-group-ref_25.png + Icons/service-group_16.png + Icons/state-sync-cluster-group_25.png + Icons/state-sync-cluster-group_64.png + Icons/state-sync-cluster-group-neg_25.png + Icons/state-sync-cluster-group-neg_16.png + Icons/state-sync-cluster-group-ref_25.png + Icons/state-sync-cluster-group_16.png + Icons/folder_25.png + Icons/folder_64.png + Icons/folder_16.png + Icons/service-tcp_25.png + Icons/service-tcp_64.png + Icons/service-tcp-neg_25.png + Icons/service-tcp-neg_16.png + Icons/service-tcp-ref_25.png + Icons/service-tcp_16.png + Icons/tag_25.png + Icons/tag_64.png + Icons/tag_16.png + Icons/service-tag_25.png + Icons/service-tag_64.png + Icons/service-tag-neg_25.png + Icons/service-tag-neg_16.png + Icons/service-tag-ref_25.png + Icons/service-tag_16.png + Icons/translate_25.png + Icons/translate_16.png + Icons/service-udp_25.png + Icons/service-udp_64.png + Icons/service-udp-neg_25.png + Icons/service-udp-neg_16.png + Icons/service-udp-ref_25.png + Icons/service-udp_16.png + Icons/user_25.png + Icons/user_64.png + Icons/user-neg_25.png + Icons/user-neg_16.png + Icons/user-ref_25.png + Icons/user_16.png + Icons/lock.png + Icons/neg.png + Icons/physaddress_25.png + Icons/physaddress_64.png + Icons/physaddress-neg_25.png + Icons/physaddress-ref_25.png + Icons/physaddress_16.png + Icons/add.png + Icons/apply.png + Icons/back_32.png + Icons/big-down-arrow.png + Icons/big-left-arrow.png + Icons/big-right-arrow.png + Icons/big-up-arrow.png + Icons/blank_2x16.png + Icons/books1.png + Icons/cancel.png + Icons/close.png + Icons/del.png + Icons/down-arrow.png + Icons/drag_object.png + Icons/error.png + Icons/firewall_64.png + Icons/firewall_64.xpm + Icons/floppy.png + Icons/folder1.png + Icons/generic.png + Icons/host_64.png + Icons/host_64.xpm + Icons/info_16.png + Icons/info_25.png + Icons/key.png + Icons/left-arrow.png + Icons/newfile_25.png + Icons/newobject_25.png + Icons/newobject_32.png + Icons/no.png + Icons/ok.png + Icons/openfile_25.png + Icons/protect_host.png + Icons/protect_net.png + Icons/protect_net_and_dmz.png + Icons/question.png + Icons/redo.png + Icons/ref.png + Icons/right-arrow.png + Icons/rules_druid_logo.png + Icons/save_25.png + Icons/search_25.png + Icons/stop.png + Icons/uncheck.png + Icons/undo.png + Icons/up-arrow.png + Icons/warning.png + Icons/yes.png + Images/fwbuilder3-128x128.png + Images/fwbuilder3.png + Tutorial/getting_started/html/page0.html + Tutorial/getting_started/html/page1.html + Tutorial/getting_started/html/page2.html + Tutorial/getting_started/html/page3.html + Tutorial/getting_started/html/page4.html + Tutorial/getting_started/html/page5.html + Tutorial/getting_started/html/page6.html + Tutorial/getting_started/html/page7.html + Tutorial/getting_started/html/page8.html + Tutorial/getting_started/html/page9.html + Tutorial/getting_started/html/page10.html + Tutorial/getting_started/html/page11.html + Tutorial/getting_started/html/page12.html + Tutorial/getting_started/html/page13.html + Tutorial/getting_started/html/page14.html + Tutorial/getting_started/html/page15.html + Tutorial/getting_started/html/page16.html + Tutorial/getting_started/html/page17.html + Tutorial/getting_started/html/page18.html + Tutorial/getting_started/html/page19.html + Tutorial/getting_started/html/page20.html + Tutorial/getting_started/html/page21.html + Tutorial/getting_started/html/page22.html + Tutorial/getting_started/html/page23.html + Tutorial/getting_started/html/page24.html + Tutorial/getting_started/html/page25.html + Tutorial/getting_started/html/page26.html + Tutorial/getting_started/html/page27.html + Tutorial/getting_started/html/page28.html + Tutorial/getting_started/html/page29.html + Tutorial/getting_started/html/page30.html + Tutorial/getting_started/html/page31.html + Tutorial/getting_started/html/page32.html + Tutorial/getting_started/images/0.png + Tutorial/getting_started/images/1.png + Tutorial/getting_started/images/2.png + Tutorial/getting_started/images/3.png + Tutorial/getting_started/images/4.png + Tutorial/getting_started/images/5.png + Tutorial/getting_started/images/6.png + Tutorial/getting_started/images/7.png + Tutorial/getting_started/images/8.png + Tutorial/getting_started/images/9-1.png + Tutorial/getting_started/images/9-2.png + Tutorial/getting_started/images/10.png + Tutorial/getting_started/images/11.png + Tutorial/getting_started/images/12.png + Tutorial/getting_started/images/13.png + Tutorial/getting_started/images/14.png + Tutorial/getting_started/images/15.png + Tutorial/getting_started/images/16.png + Tutorial/getting_started/images/17.png + Tutorial/getting_started/images/18.png + Tutorial/getting_started/images/19.png + Tutorial/getting_started/images/20.png + Tutorial/getting_started/images/21.png + Tutorial/getting_started/images/22.png + Tutorial/getting_started/images/23.png + Tutorial/getting_started/images/24.png + Tutorial/getting_started/images/25.png + Tutorial/getting_started/images/26.png + Tutorial/getting_started/images/27.png + Tutorial/getting_started/images/28.png + Tutorial/getting_started/images/29.png + Tutorial/getting_started/images/30.png + Tutorial/getting_started/images/32.png + Tutorial/getting_started/images/new_button.png + Tutorial/getting_started/stylesheets/style.css + diff --git a/src/gui/RuleSetViewDelegate.cpp b/src/gui/RuleSetViewDelegate.cpp index ee2c28bd4..34b00c1d5 100644 --- a/src/gui/RuleSetViewDelegate.cpp +++ b/src/gui/RuleSetViewDelegate.cpp @@ -118,24 +118,27 @@ void RuleSetViewDelegate::paintGroup(QPainter *painter, const QStyleOptionViewIt void RuleSetViewDelegate::drawIcons(QPainter *painter, QRect rect, const QStringList &icons) const { + if (fwbdebug) + qDebug() << "RuleSetViewDelegate::drawIcons" + << "icons.size()=" << icons.size(); + int x = rect.left(); int y = rect.top(); + int iconWidth = 0; - if (st->getShowIconsInRules()) + for (int i=0; idrawPixmap(x,y,pm); - x += pm.width() + ICON_TEXT_GAP; - } - } - else - { - //TODO we should show something in this case! + QString icon = calculateIconName(icons[i], false); + if (fwbdebug) + qDebug() << "i=" << i + << "icons[i]=" << icons[i] + << "icon=" << icon; + + LoadPixmap(icon, pm); + painter->drawPixmap(x, y, pm); + iconWidth = pm.width(); + x += iconWidth + ICON_TEXT_GAP; } } @@ -147,7 +150,6 @@ void RuleSetViewDelegate::drawIconAndText(QPainter *painter, { int x = rect.left(); int y = rect.top(); - int iconWidth = 0; if (!icon.isEmpty() && st->getShowIconsInRules()) @@ -178,12 +180,17 @@ void RuleSetViewDelegate::drawSelectedFocus(QPainter *painter, const QStyleOptio } } -void RuleSetViewDelegate::paintRule(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index, RuleNode * node) const +void RuleSetViewDelegate::paintRule(QPainter *painter, + const QStyleOptionViewItem &option, + const QModelIndex &index, + RuleNode * node) const { - //if (fwbdebug) qDebug() << "RuleSetViewDelegate::paintRule"; QVariant v = index.data(Qt::DisplayRole); if (!v.isValid()) return; + // if (fwbdebug) qDebug() << "RuleSetViewDelegate::paintRule" + // << v; + if (node != 0) { FWOptions *ropt = node->rule->getOptionsObject(); @@ -239,16 +246,30 @@ void RuleSetViewDelegate::paintAction(QPainter *painter, const QStyleOptionViewI ActionDesc actionDesc = v.value(); drawSelectedFocus(painter, option, ctx.objectRect); QString text = (st->getShowDirectionText())?actionDesc.displayName:""; - drawIconAndText(painter, ctx.drawRect,actionDesc.name,text); + drawIconAndText(painter, ctx.drawRect, actionDesc.name, text); } void RuleSetViewDelegate::paintOptions(QPainter *painter, const QStyleOptionViewItem &option, const QVariant &v) const { //if (fwbdebug) qDebug() << "RuleSetViewDelegate::paintOptions"; DrawingContext ctx = initContext(option.rect); - QStringList options = v.value(); drawSelectedFocus(painter, option, ctx.objectRect); - drawIcons(painter, ctx.drawRect, options); + QStringList icons; + icons = v.value(); + QStringList text; + + if (st->getShowIconsInRules()) + { + drawIcons(painter, ctx.drawRect, icons); + } else + { + for (int i=0; igetTypeName()+"/icon-tree").c_str(); + LoadPixmap(icn_file, pm); - if ( ! QPixmapCache::find( icn_file, pm) ) - { - pm.load( icn_file ); - QPixmapCache::insert( icn_file, pm); - } + // if ( ! QPixmapCache::find( icn_file, pm) ) + // { + // pm.load( icn_file ); + // QPixmapCache::insert( icn_file, pm); + // } } -void LoadPixmap(const QString path, QPixmap &where) +void LoadPixmap(const QString &path, QPixmap &pm) { - if ( ! QPixmapCache::find( path, where ) ) + if ( ! QPixmapCache::find( path, pm ) ) { - where.load( path ); - if (where.width() == 0) + pm.load( path ); + if (pm.width() == 0) qDebug("pixmap load failed: %s", path.toAscii().constData()); - QPixmapCache::insert( path, where ); + QPixmapCache::insert( path, pm ); } } -QPixmap LoadPixmap(const QString path) +QPixmap LoadPixmap(const QString &path) { QPixmap p; @@ -480,7 +481,7 @@ QString calculateIconName(const QString &_icn, bool negation) return icn; } -void doSetObjectIcon(libfwbuilder::FWObject *obj, QPixmap *pm, int icon_size) +void doSetObjectIcon(FWObject *obj, QPixmap *pm, int icon_size) { QString icn_alias; QString icn_sfx; diff --git a/src/gui/utils.h b/src/gui/utils.h index 7fa0d73d0..3d988133b 100644 --- a/src/gui/utils.h +++ b/src/gui/utils.h @@ -117,8 +117,8 @@ extern QString getAddrByName(const QString &name, int af_type); extern QString getNameByAddr(const QString &addr); extern QString wordWrap(const QString& ,int); -extern void LoadPixmap(const QString path, QPixmap &where); -extern QPixmap LoadPixmap(const QString path); +extern void LoadPixmap(const QString &path, QPixmap &where); +extern QPixmap LoadPixmap(const QString &path); extern QString calculateIconName(const QString &_icn, bool negation); /*