SF.net SVN: geany:[4817] trunk
eht16 at users.sourceforge.net
eht16 at xxxxx
Sun Apr 11 21:56:08 UTC 2010
Revision: 4817
http://geany.svn.sourceforge.net/geany/?rev=4817&view=rev
Author: eht16
Date: 2010-04-11 21:56:08 +0000 (Sun, 11 Apr 2010)
Log Message:
-----------
Add option 'System Default' for toolbar icon style and size to use the GTK default value.
Modified Paths:
--------------
trunk/ChangeLog
trunk/doc/geany.txt
trunk/geany.glade
trunk/plugins/geanyfunctions.h
trunk/src/callbacks.c
trunk/src/interface.c
trunk/src/keyfile.c
trunk/src/plugindata.h
trunk/src/plugins.c
trunk/src/prefs.c
trunk/src/toolbar.c
trunk/src/toolbar.h
trunk/src/ui_utils.c
trunk/src/ui_utils.h
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/ChangeLog 2010-04-11 21:56:08 UTC (rev 4817)
@@ -1,3 +1,13 @@
+2010-04-11 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
+
+ * geany.glade, doc/geany.txt, plugins/geanyfunctions.h,
+ src/callbacks.c, src/interface.c, src/keyfile.c, src/plugindata.h,
+ src/plugins.c, src/prefs.c, src/toolbar.c, src/toolbar.h,
+ src/ui_utils.c, src/ui_utils.h:
+ Add option 'System Default' for toolbar icon style and size to
+ use the GTK default value.
+
+
2010-04-09 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
* plugins/htmlchars.c:
Modified: trunk/doc/geany.txt
===================================================================
--- trunk/doc/geany.txt 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/doc/geany.txt 2010-04-11 21:56:08 UTC (rev 4817)
@@ -1792,6 +1792,8 @@
Allows to append the toolbar to the main menu bar instead of placing it below.
This is useful to save vertical space.
+Customize Toolbar
+ See `Customizing the toolbar`_.
Appearance
``````````
@@ -1799,14 +1801,13 @@
Icon Style
Select the toolbar icon style to use - either icons and text, just
icons or just text.
+ The choice System default uses whatever icon style is set by GTK.
Icon size
Select the size of the icons you see (large, small or very small).
+ The choice System default uses whatever icon size is set by GTK.
-Customize Toolbar
- See `Customizing the toolbar`_.
-
Editor Features preferences
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Modified: trunk/geany.glade
===================================================================
--- trunk/geany.glade 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/geany.glade 2010-04-11 21:56:08 UTC (rev 4817)
@@ -18,7 +18,6 @@
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
<accessibility>
<atkproperty name="AtkObject::accessible_name" translatable="yes">Geany</atkproperty>
</accessibility>
@@ -38,8 +37,6 @@
<child>
<widget class="GtkMenuBar" id="menubar1">
<property name="visible">True</property>
- <property name="pack_direction">GTK_PACK_DIRECTION_LTR</property>
- <property name="child_pack_direction">GTK_PACK_DIRECTION_LTR</property>
<child>
<widget class="GtkMenuItem" id="file1">
@@ -2785,7 +2782,6 @@
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
@@ -4843,390 +4839,451 @@
<widget class="GtkVBox" id="vbox42">
<property name="visible">True</property>
<property name="homogeneous">False</property>
- <property name="spacing">0</property>
+ <property name="spacing">5</property>
<child>
- <widget class="GtkCheckButton" id="check_toolbar_show">
+ <widget class="GtkHBox" id="hbox18">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Show T_oolbar</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
- <child>
- <widget class="GtkCheckButton" id="check_toolbar_in_menu">
- <property name="visible">True</property>
- <property name="tooltip" translatable="yes">Pack the toolbar to the main menu to save vertical space</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Append Toolbar to the Menu</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
+ <child>
+ <widget class="GtkVBox" id="vbox52">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
- <child>
- <widget class="GtkLabel" id="label196">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Toolbar</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">True</property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkCheckButton" id="check_toolbar_show">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Show T_oolbar</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkFrame" id="frame13">
- <property name="visible">True</property>
- <property name="label_xalign">0</property>
- <property name="label_yalign">0.5</property>
- <property name="shadow_type">GTK_SHADOW_NONE</property>
+ <child>
+ <widget class="GtkCheckButton" id="check_toolbar_in_menu">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Pack the toolbar to the main menu to save vertical space</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Append Toolbar to the Menu</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkAlignment" id="alignment16">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">1</property>
- <property name="yscale">1</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">12</property>
- <property name="right_padding">0</property>
+ <child>
+ <widget class="GtkVBox" id="vbox53">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
- <child>
- <widget class="GtkTable" id="table9">
- <property name="visible">True</property>
- <property name="n_rows">2</property>
- <property name="n_columns">4</property>
- <property name="homogeneous">False</property>
- <property name="row_spacing">3</property>
- <property name="column_spacing">12</property>
+ <child>
+ <widget class="GtkButton" id="button_customize_toolbar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked" handler="on_button_customize_toolbar_clicked" last_modification_time="Thu, 25 Jun 2009 17:09:43 GMT"/>
- <child>
- <widget class="GtkLabel" id="label169">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Icon style:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkAlignment" id="alignment45">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">0</property>
+ <property name="yscale">0</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
- <child>
- <widget class="GtkLabel" id="label170">
- <property name="visible">True</property>
- <property name="label" translatable="yes">Icon size:</property>
- <property name="use_underline">False</property>
- <property name="use_markup">False</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="left_attach">0</property>
- <property name="right_attach">1</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkHBox" id="hbox16">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">2</property>
- <child>
- <widget class="GtkRadioButton" id="radio_toolbar_imagetext">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Images _and Text</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkImage" id="image2877">
+ <property name="visible">True</property>
+ <property name="stock">gtk-properties</property>
+ <property name="icon_size">4</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkRadioButton" id="radio_toolbar_small">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Small Icons</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
+ <child>
+ <widget class="GtkLabel" id="label236">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Customize Toolbar</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
</widget>
<packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
</packing>
</child>
<child>
- <widget class="GtkRadioButton" id="radio_toolbar_large">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Large Icons</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radio_toolbar_small</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
+ <placeholder/>
</child>
<child>
- <widget class="GtkRadioButton" id="radio_toolbar_text">
+ <widget class="GtkFrame" id="frame_toolbar_style">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Text Only</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radio_toolbar_imagetext</property>
- </widget>
- <packing>
- <property name="left_attach">3</property>
- <property name="right_attach">4</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
- <child>
- <widget class="GtkRadioButton" id="radio_toolbar_image">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Images Only</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radio_toolbar_imagetext</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">0</property>
- <property name="bottom_attach">1</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkAlignment" id="alignment50">
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">1</property>
+ <property name="yscale">1</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">12</property>
+ <property name="right_padding">0</property>
- <child>
- <widget class="GtkRadioButton" id="radio_toolbar_verysmall">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">_Very Small Icons</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- <property name="group">radio_toolbar_small</property>
- </widget>
- <packing>
- <property name="left_attach">3</property>
- <property name="right_attach">4</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
- </widget>
- </child>
- </widget>
- </child>
+ <child>
+ <widget class="GtkTable" id="table19">
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">False</property>
+ <property name="row_spacing">3</property>
+ <property name="column_spacing">20</property>
- <child>
- <widget class="GtkLabel" id="label167">
- <property name="visible">True</property>
- <property name="label" translatable="yes"><b>Appearance</b></property>
- <property name="use_underline">False</property>
- <property name="use_markup">True</property>
- <property name="justify">GTK_JUSTIFY_LEFT</property>
- <property name="wrap">False</property>
- <property name="selectable">False</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xpad">0</property>
- <property name="ypad">0</property>
- <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
- <property name="width_chars">-1</property>
- <property name="single_line_mode">False</property>
- <property name="angle">0</property>
- </widget>
- <packing>
- <property name="type">label_item</property>
- </packing>
- </child>
- </widget>
- <packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
- </packing>
- </child>
+ <child>
+ <widget class="GtkRadioButton" id="radio_toolbar_style_default">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">System _Default</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkHBox" id="hbox15">
- <property name="visible">True</property>
- <property name="homogeneous">True</property>
- <property name="spacing">0</property>
+ <child>
+ <widget class="GtkRadioButton" id="radio_toolbar_imagetext">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">Images _and Text</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radio_toolbar_style_default</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkButton" id="button_customize_toolbar">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <signal name="clicked" handler="on_button_customize_toolbar_clicked" last_modification_time="Thu, 25 Jun 2009 17:09:43 GMT"/>
+ <child>
+ <widget class="GtkRadioButton" id="radio_toolbar_image">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Images Only</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radio_toolbar_style_default</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
- <child>
- <widget class="GtkAlignment" id="alignment45">
- <property name="visible">True</property>
- <property name="xalign">0.5</property>
- <property name="yalign">0.5</property>
- <property name="xscale">0</property>
- <property name="yscale">0</property>
- <property name="top_padding">0</property>
- <property name="bottom_padding">0</property>
- <property name="left_padding">0</property>
- <property name="right_padding">0</property>
+ <child>
+ <widget class="GtkRadioButton" id="radio_toolbar_text">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Text Only</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radio_toolbar_style_default</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
- <child>
- <widget class="GtkHBox" id="hbox16">
- <property name="visible">True</property>
- <property name="homogeneous">False</property>
- <property name="spacing">2</property>
-
<child>
- <widget class="GtkImage" id="image2877">
+ <widget class="GtkLabel" id="label244">
<property name="visible">True</property>
- <property name="stock">gtk-properties</property>
- <property name="icon_size">4</property>
+ <property name="label" translatable="yes"><b>Icon Style</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
<property name="xalign">0.5</property>
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
</widget>
<packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="type">label_item</property>
</packing>
</child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkFrame" id="frame_toolbar_icon">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+
<child>
- <widget class="GtkLabel" id="label236">
+ <widget class="GtkAlignment" id="alignment51">
<property name="visible">True</property>
- <property name="label" translatable="yes">Customize Toolbar</property>
- <property name="use_underline">True</property>
- <property name="use_markup">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">1</property>
+ <property name="yscale">1</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">12</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkTable" id="table20">
+ <property name="visible">True</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <property name="homogeneous">True</property>
+ <property name="row_spacing">3</property>
+ <property name="column_spacing">20</property>
+
+ <child>
+ <widget class="GtkRadioButton" id="radio_toolbar_icon_default">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">S_ystem Default</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="radio_toolbar_small">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Small Icons</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radio_toolbar_icon_default</property>
+ </widget>
+ <packing>
+ <property name="left_attach">0</property>
+ <property name="right_attach">1</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="radio_toolbar_verysmall">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Very Small Icons</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radio_toolbar_icon_default</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">0</property>
+ <property name="bottom_attach">1</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkRadioButton" id="radio_toolbar_large">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="label" translatable="yes">_Large Icons</property>
+ <property name="use_underline">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="active">False</property>
+ <property name="inconsistent">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">radio_toolbar_icon_default</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options">fill</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label245">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Icon Size</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
<property name="wrap">False</property>
<property name="selectable">False</property>
@@ -5240,27 +5297,48 @@
<property name="angle">0</property>
</widget>
<packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="type">label_item</property>
</packing>
</child>
</widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
</child>
</widget>
</child>
</widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label246">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes"><b>Toolbar</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
<packing>
- <property name="padding">0</property>
- <property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="type">label_item</property>
</packing>
</child>
</widget>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
- <property name="fill">False</property>
+ <property name="fill">True</property>
</packing>
</child>
</widget>
@@ -9637,7 +9715,6 @@
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property>
- <property name="urgency_hint">False</property>
<property name="has_separator">True</property>
<child internal-child="vbox">
Modified: trunk/plugins/geanyfunctions.h
===================================================================
--- trunk/plugins/geanyfunctions.h 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/plugins/geanyfunctions.h 2010-04-11 21:56:08 UTC (rev 4817)
@@ -266,6 +266,8 @@
geany_functions->p_ui->ui_widget_modify_font_from_string
#define ui_is_keyval_enter_or_return \
geany_functions->p_ui->ui_is_keyval_enter_or_return
+#define ui_get_gtk_settings_integer \
+ geany_functions->p_ui->ui_get_gtk_settings_integer
#define dialogs_show_question \
geany_functions->p_dialogs->dialogs_show_question
#define dialogs_show_msgbox \
Modified: trunk/src/callbacks.c
===================================================================
--- trunk/src/callbacks.c 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/src/callbacks.c 2010-04-11 21:56:08 UTC (rev 4817)
@@ -507,8 +507,8 @@
if (ignore_toolbar_toggle || ! gtk_check_menu_item_get_active(menuitem))
return;
- gtk_toolbar_set_style(GTK_TOOLBAR(main_widgets.toolbar), GTK_TOOLBAR_BOTH);
toolbar_prefs.icon_style = GTK_TOOLBAR_BOTH;
+ toolbar_set_icon_style();
}
@@ -519,8 +519,8 @@
if (ignore_toolbar_toggle || ! gtk_check_menu_item_get_active(menuitem))
return;
- gtk_toolbar_set_style(GTK_TOOLBAR(main_widgets.toolbar), GTK_TOOLBAR_ICONS);
toolbar_prefs.icon_style = GTK_TOOLBAR_ICONS;
+ toolbar_set_icon_style();
}
@@ -531,8 +531,8 @@
if (ignore_toolbar_toggle || ! gtk_check_menu_item_get_active(menuitem))
return;
- gtk_toolbar_set_style(GTK_TOOLBAR(main_widgets.toolbar), GTK_TOOLBAR_TEXT);
toolbar_prefs.icon_style = GTK_TOOLBAR_TEXT;
+ toolbar_set_icon_style();
}
@@ -626,7 +626,7 @@
return;
toolbar_prefs.icon_size = GTK_ICON_SIZE_LARGE_TOOLBAR;
- gtk_toolbar_set_icon_size(GTK_TOOLBAR(main_widgets.toolbar), toolbar_prefs.icon_size);
+ toolbar_set_icon_size();
}
@@ -638,7 +638,7 @@
return;
toolbar_prefs.icon_size = GTK_ICON_SIZE_SMALL_TOOLBAR;
- gtk_toolbar_set_icon_size(GTK_TOOLBAR(main_widgets.toolbar), toolbar_prefs.icon_size);
+ toolbar_set_icon_size();
}
@@ -650,7 +650,7 @@
return;
toolbar_prefs.icon_size = GTK_ICON_SIZE_MENU;
- gtk_toolbar_set_icon_size(GTK_TOOLBAR(main_widgets.toolbar), toolbar_prefs.icon_size);
+ toolbar_set_icon_size();
}
Modified: trunk/src/interface.c
===================================================================
--- trunk/src/interface.c 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/src/interface.c 2010-04-11 21:56:08 UTC (rev 4817)
@@ -2453,29 +2453,35 @@
GtkWidget *frame28;
GtkWidget *alignment31;
GtkWidget *vbox42;
+ GtkWidget *hbox18;
+ GtkWidget *vbox52;
GtkWidget *check_toolbar_show;
GtkWidget *check_toolbar_in_menu;
- GtkWidget *label196;
- GtkWidget *frame13;
- GtkWidget *alignment16;
- GtkWidget *table9;
- GtkWidget *label169;
- GtkWidget *label170;
- GtkWidget *radio_toolbar_imagetext;
- GSList *radio_toolbar_imagetext_group = NULL;
- GtkWidget *radio_toolbar_small;
- GSList *radio_toolbar_small_group = NULL;
- GtkWidget *radio_toolbar_large;
- GtkWidget *radio_toolbar_text;
- GtkWidget *radio_toolbar_image;
- GtkWidget *radio_toolbar_verysmall;
- GtkWidget *label167;
- GtkWidget *hbox15;
+ GtkWidget *vbox53;
GtkWidget *button_customize_toolbar;
GtkWidget *alignment45;
GtkWidget *hbox16;
GtkWidget *image2877;
GtkWidget *label236;
+ GtkWidget *frame_toolbar_style;
+ GtkWidget *alignment50;
+ GtkWidget *table19;
+ GtkWidget *radio_toolbar_style_default;
+ GSList *radio_toolbar_style_default_group = NULL;
+ GtkWidget *radio_toolbar_imagetext;
+ GtkWidget *radio_toolbar_image;
+ GtkWidget *radio_toolbar_text;
+ GtkWidget *label244;
+ GtkWidget *frame_toolbar_icon;
+ GtkWidget *alignment51;
+ GtkWidget *table20;
+ GtkWidget *radio_toolbar_icon_default;
+ GSList *radio_toolbar_icon_default_group = NULL;
+ GtkWidget *radio_toolbar_small;
+ GtkWidget *radio_toolbar_verysmall;
+ GtkWidget *radio_toolbar_large;
+ GtkWidget *label245;
+ GtkWidget *label246;
GtkWidget *label164;
GtkWidget *notebook4;
GtkWidget *vbox5;
@@ -3343,131 +3349,162 @@
gtk_container_add (GTK_CONTAINER (frame28), alignment31);
gtk_alignment_set_padding (GTK_ALIGNMENT (alignment31), 0, 0, 12, 0);
- vbox42 = gtk_vbox_new (FALSE, 0);
+ vbox42 = gtk_vbox_new (FALSE, 5);
gtk_widget_show (vbox42);
gtk_container_add (GTK_CONTAINER (alignment31), vbox42);
+ hbox18 = gtk_hbox_new (FALSE, 0);
+ gtk_widget_show (hbox18);
+ gtk_box_pack_start (GTK_BOX (vbox42), hbox18, FALSE, FALSE, 0);
+
+ vbox52 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (vbox52);
+ gtk_box_pack_start (GTK_BOX (hbox18), vbox52, TRUE, TRUE, 0);
+
check_toolbar_show = gtk_check_button_new_with_mnemonic (_("Show T_oolbar"));
gtk_widget_show (check_toolbar_show);
- gtk_box_pack_start (GTK_BOX (vbox42), check_toolbar_show, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox52), check_toolbar_show, FALSE, FALSE, 0);
check_toolbar_in_menu = gtk_check_button_new_with_mnemonic (_("_Append Toolbar to the Menu"));
gtk_widget_show (check_toolbar_in_menu);
- gtk_box_pack_start (GTK_BOX (vbox42), check_toolbar_in_menu, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox52), check_toolbar_in_menu, FALSE, FALSE, 0);
gtk_tooltips_set_tip (tooltips, check_toolbar_in_menu, _("Pack the toolbar to the main menu to save vertical space"), NULL);
- label196 = gtk_label_new (_("<b>Toolbar</b>"));
- gtk_widget_show (label196);
- gtk_frame_set_label_widget (GTK_FRAME (frame28), label196);
- gtk_label_set_use_markup (GTK_LABEL (label196), TRUE);
+ vbox53 = gtk_vbox_new (FALSE, 0);
+ gtk_widget_show (vbox53);
+ gtk_box_pack_start (GTK_BOX (hbox18), vbox53, FALSE, FALSE, 0);
- frame13 = gtk_frame_new (NULL);
- gtk_widget_show (frame13);
- gtk_box_pack_start (GTK_BOX (vbox15), frame13, FALSE, FALSE, 0);
- gtk_frame_set_shadow_type (GTK_FRAME (frame13), GTK_SHADOW_NONE);
+ button_customize_toolbar = gtk_button_new ();
+ gtk_widget_show (button_customize_toolbar);
+ gtk_box_pack_start (GTK_BOX (vbox53), button_customize_toolbar, FALSE, FALSE, 0);
- alignment16 = gtk_alignment_new (0.5, 0.5, 1, 1);
- gtk_widget_show (alignment16);
- gtk_container_add (GTK_CONTAINER (frame13), alignment16);
- gtk_alignment_set_padding (GTK_ALIGNMENT (alignment16), 0, 0, 12, 0);
+ alignment45 = gtk_alignment_new (0.5, 0.5, 0, 0);
+ gtk_widget_show (alignment45);
+ gtk_container_add (GTK_CONTAINER (button_customize_toolbar), alignment45);
- table9 = gtk_table_new (2, 4, FALSE);
- gtk_widget_show (table9);
- gtk_container_add (GTK_CONTAINER (alignment16), table9);
- gtk_table_set_row_spacings (GTK_TABLE (table9), 3);
- gtk_table_set_col_spacings (GTK_TABLE (table9), 12);
+ hbox16 = gtk_hbox_new (FALSE, 2);
+ gtk_widget_show (hbox16);
+ gtk_container_add (GTK_CONTAINER (alignment45), hbox16);
- label169 = gtk_label_new (_("Icon style:"));
- gtk_widget_show (label169);
- gtk_table_attach (GTK_TABLE (table9), label169, 0, 1, 0, 1,
- (GtkAttachOptions) (GTK_FILL),
- (GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label169), 0, 0.5);
+ image2877 = gtk_image_new_from_stock ("gtk-properties", GTK_ICON_SIZE_BUTTON);
+ gtk_widget_show (image2877);
+ gtk_box_pack_start (GTK_BOX (hbox16), image2877, FALSE, FALSE, 0);
- label170 = gtk_label_new (_("Icon size:"));
- gtk_widget_show (label170);
- gtk_table_attach (GTK_TABLE (table9), label170, 0, 1, 1, 2,
+ label236 = gtk_label_new_with_mnemonic (_("Customize Toolbar"));
+ gtk_widget_show (label236);
+ gtk_box_pack_start (GTK_BOX (hbox16), label236, FALSE, FALSE, 0);
+
+ frame_toolbar_style = gtk_frame_new (NULL);
+ gtk_widget_show (frame_toolbar_style);
+ gtk_box_pack_start (GTK_BOX (vbox42), frame_toolbar_style, TRUE, TRUE, 0);
+ gtk_frame_set_shadow_type (GTK_FRAME (frame_toolbar_style), GTK_SHADOW_NONE);
+
+ alignment50 = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_widget_show (alignment50);
+ gtk_container_add (GTK_CONTAINER (frame_toolbar_style), alignment50);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment50), 0, 0, 12, 0);
+
+ table19 = gtk_table_new (2, 2, FALSE);
+ gtk_widget_show (table19);
+ gtk_container_add (GTK_CONTAINER (alignment50), table19);
+ gtk_table_set_row_spacings (GTK_TABLE (table19), 3);
+ gtk_table_set_col_spacings (GTK_TABLE (table19), 20);
+
+ radio_toolbar_style_default = gtk_radio_button_new_with_mnemonic (NULL, _("System _Default"));
+ gtk_widget_show (radio_toolbar_style_default);
+ gtk_table_attach (GTK_TABLE (table19), radio_toolbar_style_default, 0, 1, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
- gtk_misc_set_alignment (GTK_MISC (label170), 0, 0.5);
+ gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_style_default), radio_toolbar_style_default_group);
+ radio_toolbar_style_default_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_style_default));
radio_toolbar_imagetext = gtk_radio_button_new_with_mnemonic (NULL, _("Images _and Text"));
gtk_widget_show (radio_toolbar_imagetext);
- gtk_table_attach (GTK_TABLE (table9), radio_toolbar_imagetext, 1, 2, 0, 1,
+ gtk_table_attach (GTK_TABLE (table19), radio_toolbar_imagetext, 0, 1, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_imagetext), radio_toolbar_imagetext_group);
- radio_toolbar_imagetext_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_imagetext));
+ gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_imagetext), radio_toolbar_style_default_group);
+ radio_toolbar_style_default_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_imagetext));
- radio_toolbar_small = gtk_radio_button_new_with_mnemonic (NULL, _("_Small Icons"));
- gtk_widget_show (radio_toolbar_small);
- gtk_table_attach (GTK_TABLE (table9), radio_toolbar_small, 2, 3, 1, 2,
+ radio_toolbar_image = gtk_radio_button_new_with_mnemonic (NULL, _("_Images Only"));
+ gtk_widget_show (radio_toolbar_image);
+ gtk_table_attach (GTK_TABLE (table19), radio_toolbar_image, 1, 2, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_small), radio_toolbar_small_group);
- radio_toolbar_small_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_small));
+ gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_image), radio_toolbar_style_default_group);
+ radio_toolbar_style_default_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_image));
- radio_toolbar_large = gtk_radio_button_new_with_mnemonic (NULL, _("_Large Icons"));
- gtk_widget_show (radio_toolbar_large);
- gtk_table_attach (GTK_TABLE (table9), radio_toolbar_large, 1, 2, 1, 2,
+ radio_toolbar_text = gtk_radio_button_new_with_mnemonic (NULL, _("_Text Only"));
+ gtk_widget_show (radio_toolbar_text);
+ gtk_table_attach (GTK_TABLE (table19), radio_toolbar_text, 1, 2, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_large), radio_toolbar_small_group);
- radio_toolbar_small_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_large));
+ gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_text), radio_toolbar_style_default_group);
+ radio_toolbar_style_default_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_text));
- radio_toolbar_text = gtk_radio_button_new_with_mnemonic (NULL, _("_Text Only"));
- gtk_widget_show (radio_toolbar_text);
- gtk_table_attach (GTK_TABLE (table9), radio_toolbar_text, 3, 4, 0, 1,
+ label244 = gtk_label_new (_("<b>Icon Style</b>"));
+ gtk_widget_show (label244);
+ gtk_frame_set_label_widget (GTK_FRAME (frame_toolbar_style), label244);
+ gtk_label_set_use_markup (GTK_LABEL (label244), TRUE);
+
+ frame_toolbar_icon = gtk_frame_new (NULL);
+ gtk_widget_show (frame_toolbar_icon);
+ gtk_box_pack_start (GTK_BOX (vbox42), frame_toolbar_icon, TRUE, TRUE, 0);
+ gtk_frame_set_shadow_type (GTK_FRAME (frame_toolbar_icon), GTK_SHADOW_NONE);
+
+ alignment51 = gtk_alignment_new (0.5, 0.5, 1, 1);
+ gtk_widget_show (alignment51);
+ gtk_container_add (GTK_CONTAINER (frame_toolbar_icon), alignment51);
+ gtk_alignment_set_padding (GTK_ALIGNMENT (alignment51), 0, 0, 12, 0);
+
+ table20 = gtk_table_new (2, 2, TRUE);
+ gtk_widget_show (table20);
+ gtk_container_add (GTK_CONTAINER (alignment51), table20);
+ gtk_table_set_row_spacings (GTK_TABLE (table20), 3);
+ gtk_table_set_col_spacings (GTK_TABLE (table20), 20);
+
+ radio_toolbar_icon_default = gtk_radio_button_new_with_mnemonic (NULL, _("S_ystem Default"));
+ gtk_widget_show (radio_toolbar_icon_default);
+ gtk_table_attach (GTK_TABLE (table20), radio_toolbar_icon_default, 0, 1, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_text), radio_toolbar_imagetext_group);
- radio_toolbar_imagetext_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_text));
+ gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_icon_default), radio_toolbar_icon_default_group);
+ radio_toolbar_icon_default_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_icon_default));
- radio_toolbar_image = gtk_radio_button_new_with_mnemonic (NULL, _("_Images Only"));
- gtk_widget_show (radio_toolbar_image);
- gtk_table_attach (GTK_TABLE (table9), radio_toolbar_image, 2, 3, 0, 1,
+ radio_toolbar_small = gtk_radio_button_new_with_mnemonic (NULL, _("_Small Icons"));
+ gtk_widget_show (radio_toolbar_small);
+ gtk_table_attach (GTK_TABLE (table20), radio_toolbar_small, 0, 1, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_image), radio_toolbar_imagetext_group);
- radio_toolbar_imagetext_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_image));
+ gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_small), radio_toolbar_icon_default_group);
+ radio_toolbar_icon_default_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_small));
radio_toolbar_verysmall = gtk_radio_button_new_with_mnemonic (NULL, _("_Very Small Icons"));
gtk_widget_show (radio_toolbar_verysmall);
- gtk_table_attach (GTK_TABLE (table9), radio_toolbar_verysmall, 3, 4, 1, 2,
+ gtk_table_attach (GTK_TABLE (table20), radio_toolbar_verysmall, 1, 2, 0, 1,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
- gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_verysmall), radio_toolbar_small_group);
- radio_toolbar_small_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_verysmall));
+ gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_verysmall), radio_toolbar_icon_default_group);
+ radio_toolbar_icon_default_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_verysmall));
- label167 = gtk_label_new (_("<b>Appearance</b>"));
- gtk_widget_show (label167);
- gtk_frame_set_label_widget (GTK_FRAME (frame13), label167);
- gtk_label_set_use_markup (GTK_LABEL (label167), TRUE);
+ radio_toolbar_large = gtk_radio_button_new_with_mnemonic (NULL, _("_Large Icons"));
+ gtk_widget_show (radio_toolbar_large);
+ gtk_table_attach (GTK_TABLE (table20), radio_toolbar_large, 1, 2, 1, 2,
+ (GtkAttachOptions) (GTK_FILL),
+ (GtkAttachOptions) (0), 0, 0);
+ gtk_radio_button_set_group (GTK_RADIO_BUTTON (radio_toolbar_large), radio_toolbar_icon_default_group);
+ radio_toolbar_icon_default_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_large));
- hbox15 = gtk_hbox_new (TRUE, 0);
- gtk_widget_show (hbox15);
- gtk_box_pack_start (GTK_BOX (vbox15), hbox15, FALSE, FALSE, 0);
+ label245 = gtk_label_new (_("<b>Icon Size</b>"));
+ gtk_widget_show (label245);
+ gtk_frame_set_label_widget (GTK_FRAME (frame_toolbar_icon), label245);
+ gtk_label_set_use_markup (GTK_LABEL (label245), TRUE);
- button_customize_toolbar = gtk_button_new ();
- gtk_widget_show (button_customize_toolbar);
- gtk_box_pack_start (GTK_BOX (hbox15), button_customize_toolbar, FALSE, FALSE, 0);
+ label246 = gtk_label_new (_("<b>Toolbar</b>"));
+ gtk_widget_show (label246);
+ gtk_frame_set_label_widget (GTK_FRAME (frame28), label246);
+ gtk_label_set_use_markup (GTK_LABEL (label246), TRUE);
- alignment45 = gtk_alignment_new (0.5, 0.5, 0, 0);
- gtk_widget_show (alignment45);
- gtk_container_add (GTK_CONTAINER (button_customize_toolbar), alignment45);
-
- hbox16 = gtk_hbox_new (FALSE, 2);
- gtk_widget_show (hbox16);
- gtk_container_add (GTK_CONTAINER (alignment45), hbox16);
-
- image2877 = gtk_image_new_from_stock ("gtk-properties", GTK_ICON_SIZE_BUTTON);
- gtk_widget_show (image2877);
- gtk_box_pack_start (GTK_BOX (hbox16), image2877, FALSE, FALSE, 0);
-
- label236 = gtk_label_new_with_mnemonic (_("Customize Toolbar"));
- gtk_widget_show (label236);
- gtk_box_pack_start (GTK_BOX (hbox16), label236, FALSE, FALSE, 0);
-
label164 = gtk_label_new (_("Toolbar"));
gtk_widget_show (label164);
gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 2), label164);
@@ -4902,27 +4939,33 @@
GLADE_HOOKUP_OBJECT (prefs_dialog, frame28, "frame28");
GLADE_HOOKUP_OBJECT (prefs_dialog, alignment31, "alignment31");
GLADE_HOOKUP_OBJECT (prefs_dialog, vbox42, "vbox42");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, hbox18, "hbox18");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, vbox52, "vbox52");
GLADE_HOOKUP_OBJECT (prefs_dialog, check_toolbar_show, "check_toolbar_show");
GLADE_HOOKUP_OBJECT (prefs_dialog, check_toolbar_in_menu, "check_toolbar_in_menu");
- GLADE_HOOKUP_OBJECT (prefs_dialog, label196, "label196");
- GLADE_HOOKUP_OBJECT (prefs_dialog, frame13, "frame13");
- GLADE_HOOKUP_OBJECT (prefs_dialog, alignment16, "alignment16");
- GLADE_HOOKUP_OBJECT (prefs_dialog, table9, "table9");
- GLADE_HOOKUP_OBJECT (prefs_dialog, label169, "label169");
- GLADE_HOOKUP_OBJECT (prefs_dialog, label170, "label170");
- GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_imagetext, "radio_toolbar_imagetext");
- GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_small, "radio_toolbar_small");
- GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_large, "radio_toolbar_large");
- GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_text, "radio_toolbar_text");
- GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_image, "radio_toolbar_image");
- GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_verysmall, "radio_toolbar_verysmall");
- GLADE_HOOKUP_OBJECT (prefs_dialog, label167, "label167");
- GLADE_HOOKUP_OBJECT (prefs_dialog, hbox15, "hbox15");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, vbox53, "vbox53");
GLADE_HOOKUP_OBJECT (prefs_dialog, button_customize_toolbar, "button_customize_toolbar");
GLADE_HOOKUP_OBJECT (prefs_dialog, alignment45, "alignment45");
GLADE_HOOKUP_OBJECT (prefs_dialog, hbox16, "hbox16");
GLADE_HOOKUP_OBJECT (prefs_dialog, image2877, "image2877");
GLADE_HOOKUP_OBJECT (prefs_dialog, label236, "label236");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, frame_toolbar_style, "frame_toolbar_style");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, alignment50, "alignment50");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, table19, "table19");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_style_default, "radio_toolbar_style_default");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_imagetext, "radio_toolbar_imagetext");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_image, "radio_toolbar_image");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_text, "radio_toolbar_text");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, label244, "label244");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, frame_toolbar_icon, "frame_toolbar_icon");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, alignment51, "alignment51");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, table20, "table20");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_icon_default, "radio_toolbar_icon_default");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_small, "radio_toolbar_small");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_verysmall, "radio_toolbar_verysmall");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, radio_toolbar_large, "radio_toolbar_large");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, label245, "label245");
+ GLADE_HOOKUP_OBJECT (prefs_dialog, label246, "label246");
GLADE_HOOKUP_OBJECT (prefs_dialog, label164, "label164");
GLADE_HOOKUP_OBJECT (prefs_dialog, notebook4, "notebook4");
GLADE_HOOKUP_OBJECT (prefs_dialog, vbox5, "vbox5");
Modified: trunk/src/keyfile.c
===================================================================
--- trunk/src/keyfile.c 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/src/keyfile.c 2010-04-11 21:56:08 UTC (rev 4817)
@@ -406,6 +406,8 @@
/* toolbar */
g_key_file_set_boolean(config, PACKAGE, "pref_toolbar_show", toolbar_prefs.visible);
g_key_file_set_boolean(config, PACKAGE, "pref_toolbar_append_to_menu", toolbar_prefs.append_to_menu);
+ g_key_file_set_boolean(config, PACKAGE, "pref_toolbar_use_gtk_default_style", toolbar_prefs.use_gtk_default_style);
+ g_key_file_set_boolean(config, PACKAGE, "pref_toolbar_use_gtk_default_icon", toolbar_prefs.use_gtk_default_icon);
g_key_file_set_integer(config, PACKAGE, "pref_toolbar_icon_style", toolbar_prefs.icon_style);
g_key_file_set_integer(config, PACKAGE, "pref_toolbar_icon_size", toolbar_prefs.icon_size);
@@ -616,14 +618,6 @@
}
-#define GEANY_GET_SETTING(propertyname, value, default_value) \
- if (g_object_class_find_property( \
- G_OBJECT_GET_CLASS(G_OBJECT(gtk_settings_get_default())), propertyname)) \
- g_object_get(G_OBJECT(gtk_settings_get_default()), propertyname, &value, \
- NULL); \
- else \
- value = default_value;
-
static void load_dialog_prefs(GKeyFile *config)
{
gchar *tmp_string, *tmp_string2;
@@ -729,12 +723,13 @@
toolbar_prefs.visible = utils_get_setting_boolean(config, PACKAGE, "pref_toolbar_show", TRUE);
toolbar_prefs.append_to_menu = utils_get_setting_boolean(config, PACKAGE, "pref_toolbar_append_to_menu", FALSE);
{
- GtkIconSize tb_iconsize;
- GtkToolbarStyle tb_style;
- GEANY_GET_SETTING("gtk-toolbar-style", tb_style, GTK_TOOLBAR_ICONS);
- GEANY_GET_SETTING("gtk-toolbar-icon-size", tb_iconsize, GTK_ICON_SIZE_LARGE_TOOLBAR);
- toolbar_prefs.icon_style = utils_get_setting_integer(config, PACKAGE, "pref_toolbar_icon_style", tb_style);
- toolbar_prefs.icon_size = utils_get_setting_integer(config, PACKAGE, "pref_toolbar_icon_size", tb_iconsize);
+ toolbar_prefs.use_gtk_default_style = utils_get_setting_boolean(config, PACKAGE, "pref_toolbar_use_gtk_default_style", TRUE);
+ if (! toolbar_prefs.use_gtk_default_style)
+ toolbar_prefs.icon_style = utils_get_setting_integer(config, PACKAGE, "pref_toolbar_icon_style", GTK_TOOLBAR_ICONS);
+
+ toolbar_prefs.use_gtk_default_icon = utils_get_setting_boolean(config, PACKAGE, "pref_toolbar_use_gtk_default_icon", TRUE);
+ if (! toolbar_prefs.use_gtk_default_icon)
+ toolbar_prefs.icon_size = utils_get_setting_integer(config, PACKAGE, "pref_toolbar_icon_size", GTK_ICON_SIZE_LARGE_TOOLBAR);
}
/* VTE */
Modified: trunk/src/plugindata.h
===================================================================
--- trunk/src/plugindata.h 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/src/plugindata.h 2010-04-11 21:56:08 UTC (rev 4817)
@@ -430,6 +430,7 @@
GCallback callback);
void (*ui_widget_modify_font_from_string) (GtkWidget *widget, const gchar *str);
gboolean (*ui_is_keyval_enter_or_return) (guint keyval);
+ gint (*ui_get_gtk_settings_integer) (const gchar *property_name, gint default_value);
}
UIUtilsFuncs;
Modified: trunk/src/plugins.c
===================================================================
--- trunk/src/plugins.c 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/src/plugins.c 2010-04-11 21:56:08 UTC (rev 4817)
@@ -229,7 +229,8 @@
&ui_entry_add_clear_icon,
&ui_menu_add_document_items,
&ui_widget_modify_font_from_string,
- &ui_is_keyval_enter_or_return
+ &ui_is_keyval_enter_or_return,
+ &ui_get_gtk_settings_integer
};
static DialogFuncs dialog_funcs = {
Modified: trunk/src/prefs.c
===================================================================
--- trunk/src/prefs.c 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/src/prefs.c 2010-04-11 21:56:08 UTC (rev 4817)
@@ -456,6 +456,8 @@
case 1: widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_text"); break;
default: widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_imagetext"); break;
}
+ if (toolbar_prefs.use_gtk_default_style)
+ widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_style_default");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);
switch (toolbar_prefs.icon_size)
@@ -466,6 +468,8 @@
widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_small"); break;
default: widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_verysmall"); break;
}
+ if (toolbar_prefs.use_gtk_default_icon)
+ widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_icon_default");
gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);
/* disable elements if toolbar is hidden */
@@ -851,30 +855,39 @@
widget = ui_lookup_widget(ui_widgets.prefs_dialog, "check_toolbar_in_menu");
toolbar_prefs.append_to_menu = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
- widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_imagetext");
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
- toolbar_prefs.icon_style = 2;
- else
+ widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_style_default");
+ toolbar_prefs.use_gtk_default_style = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+ if (! toolbar_prefs.use_gtk_default_style)
{
- widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_image");
+ widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_imagetext");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
- toolbar_prefs.icon_style = 0;
+ toolbar_prefs.icon_style = 2;
else
- /* now only the text only radio remains, so set text only */
- toolbar_prefs.icon_style = 1;
+ {
+ widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_image");
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+ toolbar_prefs.icon_style = 0;
+ else
+ /* now only the text only radio remains, so set text only */
+ toolbar_prefs.icon_style = 1;
+ }
}
-
- widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_large");
- if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
- toolbar_prefs.icon_size = GTK_ICON_SIZE_LARGE_TOOLBAR;
- else
- {
- widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_small");
+ widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_icon_default");
+ toolbar_prefs.use_gtk_default_icon = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
+ if (! toolbar_prefs.use_gtk_default_icon)
+ { toolbar_prefs.icon_size = GTK_ICON_SIZE_LARGE_TOOLBAR;
+ widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_large");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
- toolbar_prefs.icon_size = GTK_ICON_SIZE_SMALL_TOOLBAR;
+ toolbar_prefs.icon_size = GTK_ICON_SIZE_LARGE_TOOLBAR;
else
- toolbar_prefs.icon_size = GTK_ICON_SIZE_MENU;
+ {
+ widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_small");
+ if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
+ toolbar_prefs.icon_size = GTK_ICON_SIZE_SMALL_TOOLBAR;
+ else
+ toolbar_prefs.icon_size = GTK_ICON_SIZE_MENU;
+ }
}
/* Files settings */
@@ -1409,8 +1422,13 @@
{
gboolean sens = gtk_toggle_button_get_active(togglebutton);
- gtk_widget_set_sensitive(ui_lookup_widget(ui_widgets.prefs_dialog, "frame13"), sens);
gtk_widget_set_sensitive(
+ ui_lookup_widget(ui_widgets.prefs_dialog, "frame_toolbar_style"), sens);
+ gtk_widget_set_sensitive(
+ ui_lookup_widget(ui_widgets.prefs_dialog, "frame_toolbar_icon"), sens);
+ gtk_widget_set_sensitive(
+ ui_lookup_widget(ui_widgets.prefs_dialog, "button_customize_toolbar"), sens);
+ gtk_widget_set_sensitive(
ui_lookup_widget(ui_widgets.prefs_dialog, "check_toolbar_in_menu"), sens);
}
Modified: trunk/src/toolbar.c
===================================================================
--- trunk/src/toolbar.c 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/src/toolbar.c 2010-04-11 21:56:08 UTC (rev 4817)
@@ -505,43 +505,62 @@
}
-void toolbar_apply_settings(void)
+/* sets the icon style of the toolbar */
+void toolbar_set_icon_style(void)
{
- /* sets the icon style of the toolbar */
- switch (toolbar_prefs.icon_style)
+ gint icon_style;
+
+ icon_style = toolbar_prefs.icon_style;
+
+ if (toolbar_prefs.use_gtk_default_style)
+ icon_style = ui_get_gtk_settings_integer("gtk-toolbar-style", toolbar_prefs.icon_style);
+
+ gtk_toolbar_set_style(GTK_TOOLBAR(main_widgets.toolbar), icon_style);
+
+ switch (icon_style)
{
default:
case GTK_TOOLBAR_BOTH:
{
- /*gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "images_and_text1")), TRUE);*/
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(ui_widgets.toolbar_menu, "images_and_text2")), TRUE);
break;
}
case GTK_TOOLBAR_ICONS:
{
- /*gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "images_only1")), TRUE);*/
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(ui_widgets.toolbar_menu, "images_only2")), TRUE);
break;
}
case GTK_TOOLBAR_TEXT:
{
- /*gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(main_widgets.window, "text_only1")), TRUE);*/
gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(ui_widgets.toolbar_menu, "text_only2")), TRUE);
break;
}
}
- gtk_toolbar_set_style(GTK_TOOLBAR(main_widgets.toolbar), toolbar_prefs.icon_style);
+ g_message("%d style %d (%d)", toolbar_prefs.use_gtk_default_style, icon_style, toolbar_prefs.icon_style);
+}
- /* sets the icon size of the toolbar, use user preferences (.gtkrc) if not set */
- if (toolbar_prefs.icon_size == GTK_ICON_SIZE_SMALL_TOOLBAR ||
- toolbar_prefs.icon_size == GTK_ICON_SIZE_LARGE_TOOLBAR ||
- toolbar_prefs.icon_size == GTK_ICON_SIZE_MENU)
- {
- gtk_toolbar_set_icon_size(GTK_TOOLBAR(main_widgets.toolbar), toolbar_prefs.icon_size);
- }
+
+/* sets the icon size of the toolbar */
+void toolbar_set_icon_size(void)
+{
+ gint icon_size;
+
+ icon_size = toolbar_prefs.icon_size;
+
+ if (toolbar_prefs.use_gtk_default_icon)
+ icon_size = ui_get_gtk_settings_integer("gtk-toolbar-icon-size", toolbar_prefs.icon_size);
+
+ gtk_toolbar_set_icon_size(GTK_TOOLBAR(main_widgets.toolbar), icon_size);
}
+void toolbar_apply_settings(void)
+{
+ toolbar_set_icon_style();
+ toolbar_set_icon_size();
+}
+
+
#define TB_EDITOR_SEPARATOR _("Separator")
#define TB_EDITOR_SEPARATOR_LABEL _("--- Separator ---")
typedef struct
Modified: trunk/src/toolbar.h
===================================================================
--- trunk/src/toolbar.h 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/src/toolbar.h 2010-04-11 21:56:08 UTC (rev 4817)
@@ -30,6 +30,8 @@
gboolean visible;
GtkIconSize icon_size;
GtkToolbarStyle icon_style; /**< Icon style. */
+ gboolean use_gtk_default_style;
+ gboolean use_gtk_default_icon;
gboolean append_to_menu;
}
GeanyToolbarPrefs;
@@ -49,6 +51,10 @@
void toolbar_apply_settings(void);
+void toolbar_set_icon_style(void);
+
+void toolbar_set_icon_size(void);
+
void toolbar_show_hide(void);
void toolbar_item_ref(GtkToolItem *item);
Modified: trunk/src/ui_utils.c
===================================================================
--- trunk/src/ui_utils.c 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/src/ui_utils.c 2010-04-11 21:56:08 UTC (rev 4817)
@@ -2245,3 +2245,23 @@
{
return (keyval == GDK_Return || keyval == GDK_ISO_Enter|| keyval == GDK_KP_Enter);
}
+
+
+/** Reads an integer from the GTK default settings registry
+ * (see http://library.gnome.org/devel/gtk/stable/GtkSettings.html).
+ * @param property_name The property to read.
+ * @param default_value The default value in case the value could not be read.
+ * @return The value for the property if it exists, otherwise the @a default_value.
+ * @since 0.19 */
+gint ui_get_gtk_settings_integer(const gchar *property_name, gint default_value)
+{
+ if (g_object_class_find_property(G_OBJECT_GET_CLASS(G_OBJECT(
+ gtk_settings_get_default())), property_name))
+ {
+ gint value;
+ g_object_get(G_OBJECT(gtk_settings_get_default()), property_name, &value, NULL);
+ return value;
+ }
+ else
+ return default_value;
+}
Modified: trunk/src/ui_utils.h
===================================================================
--- trunk/src/ui_utils.h 2010-04-11 13:45:26 UTC (rev 4816)
+++ trunk/src/ui_utils.h 2010-04-11 21:56:08 UTC (rev 4817)
@@ -306,4 +306,6 @@
gboolean ui_is_keyval_enter_or_return(guint keyval);
+gint ui_get_gtk_settings_integer(const gchar *property_name, gint default_value);
+
#endif
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Commits
mailing list