Add option 'System Default' for toolbar icon style and size to use the GTK default value.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4817 ea778897-0a13-0410-b9d1-a72fbfd435f5
This commit is contained in:
Enrico Tröger 2010-04-11 21:56:08 +00:00
parent 0eb7bb5b57
commit e28ca32274
14 changed files with 750 additions and 555 deletions

View File

@ -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> 2010-04-09 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
* plugins/htmlchars.c: * plugins/htmlchars.c:

View File

@ -1792,6 +1792,8 @@ Append Toolbar to the Menu
Allows to append the toolbar to the main menu bar instead of placing it below. Allows to append the toolbar to the main menu bar instead of placing it below.
This is useful to save vertical space. This is useful to save vertical space.
Customize Toolbar
See `Customizing the toolbar`_.
Appearance Appearance
`````````` ``````````
@ -1799,12 +1801,11 @@ Appearance
Icon Style Icon Style
Select the toolbar icon style to use - either icons and text, just Select the toolbar icon style to use - either icons and text, just
icons or just text. icons or just text.
The choice System default uses whatever icon style is set by GTK.
Icon size Icon size
Select the size of the icons you see (large, small or very small). 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 Editor Features preferences

View File

@ -18,7 +18,6 @@
<property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_NORMAL</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property> <property name="focus_on_map">True</property>
<property name="urgency_hint">False</property>
<accessibility> <accessibility>
<atkproperty name="AtkObject::accessible_name" translatable="yes">Geany</atkproperty> <atkproperty name="AtkObject::accessible_name" translatable="yes">Geany</atkproperty>
</accessibility> </accessibility>
@ -38,8 +37,6 @@
<child> <child>
<widget class="GtkMenuBar" id="menubar1"> <widget class="GtkMenuBar" id="menubar1">
<property name="visible">True</property> <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> <child>
<widget class="GtkMenuItem" id="file1"> <widget class="GtkMenuItem" id="file1">
@ -2785,7 +2782,6 @@
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property> <property name="focus_on_map">True</property>
<property name="urgency_hint">False</property>
<property name="has_separator">True</property> <property name="has_separator">True</property>
<child internal-child="vbox"> <child internal-child="vbox">
@ -4843,19 +4839,157 @@ Bottom
<widget class="GtkVBox" id="vbox42"> <widget class="GtkVBox" id="vbox42">
<property name="visible">True</property> <property name="visible">True</property>
<property name="homogeneous">False</property> <property name="homogeneous">False</property>
<property name="spacing">0</property> <property name="spacing">5</property>
<child> <child>
<widget class="GtkCheckButton" id="check_toolbar_show"> <widget class="GtkHBox" id="hbox18">
<property name="visible">True</property> <property name="visible">True</property>
<property name="can_focus">True</property> <property name="homogeneous">False</property>
<property name="label" translatable="yes">Show T_oolbar</property> <property name="spacing">0</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property> <child>
<property name="focus_on_click">True</property> <widget class="GtkVBox" id="vbox52">
<property name="active">False</property> <property name="visible">True</property>
<property name="inconsistent">False</property> <property name="homogeneous">False</property>
<property name="draw_indicator">True</property> <property name="spacing">0</property>
<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="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="GtkVBox" id="vbox53">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">0</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="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="GtkHBox" id="hbox16">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">2</property>
<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="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> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
@ -4865,22 +4999,312 @@ Bottom
</child> </child>
<child> <child>
<widget class="GtkCheckButton" id="check_toolbar_in_menu"> <placeholder/>
</child>
<child>
<widget class="GtkFrame" id="frame_toolbar_style">
<property name="visible">True</property> <property name="visible">True</property>
<property name="tooltip" translatable="yes">Pack the toolbar to the main menu to save vertical space</property> <property name="label_xalign">0</property>
<property name="can_focus">True</property> <property name="label_yalign">0.5</property>
<property name="label" translatable="yes">_Append Toolbar to the Menu</property> <property name="shadow_type">GTK_SHADOW_NONE</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property> <child>
<property name="focus_on_click">True</property> <widget class="GtkAlignment" id="alignment50">
<property name="active">False</property> <property name="visible">True</property>
<property name="inconsistent">False</property> <property name="xalign">0.5</property>
<property name="draw_indicator">True</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="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="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="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="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="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="GtkLabel" id="label244">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Icon Style&lt;/b&gt;</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> </widget>
<packing> <packing>
<property name="padding">0</property> <property name="padding">0</property>
<property name="expand">False</property> <property name="expand">True</property>
<property name="fill">False</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="GtkAlignment" id="alignment51">
<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="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">&lt;b&gt;Icon Size&lt;/b&gt;</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">True</property>
<property name="fill">True</property>
</packing> </packing>
</child> </child>
</widget> </widget>
@ -4889,7 +5313,7 @@ Bottom
</child> </child>
<child> <child>
<widget class="GtkLabel" id="label196"> <widget class="GtkLabel" id="label246">
<property name="visible">True</property> <property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Toolbar&lt;/b&gt;</property> <property name="label" translatable="yes">&lt;b&gt;Toolbar&lt;/b&gt;</property>
<property name="use_underline">False</property> <property name="use_underline">False</property>
@ -4917,352 +5341,6 @@ Bottom
<property name="fill">True</property> <property name="fill">True</property>
</packing> </packing>
</child> </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="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="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="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="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="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="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>
</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>
</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>
</child>
<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_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>
<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="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="GtkLabel" id="label167">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Appearance&lt;/b&gt;</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="GtkHBox" id="hbox15">
<property name="visible">True</property>
<property name="homogeneous">True</property>
<property name="spacing">0</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="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="GtkHBox" id="hbox16">
<property name="visible">True</property>
<property name="homogeneous">False</property>
<property name="spacing">2</property>
<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="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> </widget>
<packing> <packing>
<property name="tab_expand">False</property> <property name="tab_expand">False</property>
@ -9637,7 +9715,6 @@ Match braces</property>
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property> <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property> <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
<property name="focus_on_map">True</property> <property name="focus_on_map">True</property>
<property name="urgency_hint">False</property>
<property name="has_separator">True</property> <property name="has_separator">True</property>
<child internal-child="vbox"> <child internal-child="vbox">

View File

@ -266,6 +266,8 @@
geany_functions->p_ui->ui_widget_modify_font_from_string geany_functions->p_ui->ui_widget_modify_font_from_string
#define ui_is_keyval_enter_or_return \ #define ui_is_keyval_enter_or_return \
geany_functions->p_ui->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 \ #define dialogs_show_question \
geany_functions->p_dialogs->dialogs_show_question geany_functions->p_dialogs->dialogs_show_question
#define dialogs_show_msgbox \ #define dialogs_show_msgbox \

View File

@ -507,8 +507,8 @@ on_images_and_text2_activate (GtkCheckMenuItem *menuitem,
if (ignore_toolbar_toggle || ! gtk_check_menu_item_get_active(menuitem)) if (ignore_toolbar_toggle || ! gtk_check_menu_item_get_active(menuitem))
return; return;
gtk_toolbar_set_style(GTK_TOOLBAR(main_widgets.toolbar), GTK_TOOLBAR_BOTH);
toolbar_prefs.icon_style = GTK_TOOLBAR_BOTH; toolbar_prefs.icon_style = GTK_TOOLBAR_BOTH;
toolbar_set_icon_style();
} }
@ -519,8 +519,8 @@ on_images_only2_activate (GtkCheckMenuItem *menuitem,
if (ignore_toolbar_toggle || ! gtk_check_menu_item_get_active(menuitem)) if (ignore_toolbar_toggle || ! gtk_check_menu_item_get_active(menuitem))
return; return;
gtk_toolbar_set_style(GTK_TOOLBAR(main_widgets.toolbar), GTK_TOOLBAR_ICONS);
toolbar_prefs.icon_style = GTK_TOOLBAR_ICONS; toolbar_prefs.icon_style = GTK_TOOLBAR_ICONS;
toolbar_set_icon_style();
} }
@ -531,8 +531,8 @@ on_text_only2_activate (GtkCheckMenuItem *menuitem,
if (ignore_toolbar_toggle || ! gtk_check_menu_item_get_active(menuitem)) if (ignore_toolbar_toggle || ! gtk_check_menu_item_get_active(menuitem))
return; return;
gtk_toolbar_set_style(GTK_TOOLBAR(main_widgets.toolbar), GTK_TOOLBAR_TEXT);
toolbar_prefs.icon_style = GTK_TOOLBAR_TEXT; toolbar_prefs.icon_style = GTK_TOOLBAR_TEXT;
toolbar_set_icon_style();
} }
@ -626,7 +626,7 @@ on_toolbar_large_icons1_activate (GtkCheckMenuItem *menuitem,
return; return;
toolbar_prefs.icon_size = GTK_ICON_SIZE_LARGE_TOOLBAR; 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 @@ on_toolbar_small_icons1_activate (GtkCheckMenuItem *menuitem,
return; return;
toolbar_prefs.icon_size = GTK_ICON_SIZE_SMALL_TOOLBAR; 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 @@ on_very_small_icons1_activate (GtkCheckMenuItem *menuitem,
return; return;
toolbar_prefs.icon_size = GTK_ICON_SIZE_MENU; 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();
} }

View File

@ -2453,29 +2453,35 @@ create_prefs_dialog (void)
GtkWidget *frame28; GtkWidget *frame28;
GtkWidget *alignment31; GtkWidget *alignment31;
GtkWidget *vbox42; GtkWidget *vbox42;
GtkWidget *hbox18;
GtkWidget *vbox52;
GtkWidget *check_toolbar_show; GtkWidget *check_toolbar_show;
GtkWidget *check_toolbar_in_menu; GtkWidget *check_toolbar_in_menu;
GtkWidget *label196; GtkWidget *vbox53;
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 *button_customize_toolbar; GtkWidget *button_customize_toolbar;
GtkWidget *alignment45; GtkWidget *alignment45;
GtkWidget *hbox16; GtkWidget *hbox16;
GtkWidget *image2877; GtkWidget *image2877;
GtkWidget *label236; 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 *label164;
GtkWidget *notebook4; GtkWidget *notebook4;
GtkWidget *vbox5; GtkWidget *vbox5;
@ -3343,114 +3349,34 @@ create_prefs_dialog (void)
gtk_container_add (GTK_CONTAINER (frame28), alignment31); gtk_container_add (GTK_CONTAINER (frame28), alignment31);
gtk_alignment_set_padding (GTK_ALIGNMENT (alignment31), 0, 0, 12, 0); 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_widget_show (vbox42);
gtk_container_add (GTK_CONTAINER (alignment31), 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")); check_toolbar_show = gtk_check_button_new_with_mnemonic (_("Show T_oolbar"));
gtk_widget_show (check_toolbar_show); 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")); check_toolbar_in_menu = gtk_check_button_new_with_mnemonic (_("_Append Toolbar to the Menu"));
gtk_widget_show (check_toolbar_in_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); 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>")); vbox53 = gtk_vbox_new (FALSE, 0);
gtk_widget_show (label196); gtk_widget_show (vbox53);
gtk_frame_set_label_widget (GTK_FRAME (frame28), label196); gtk_box_pack_start (GTK_BOX (hbox18), vbox53, FALSE, FALSE, 0);
gtk_label_set_use_markup (GTK_LABEL (label196), TRUE);
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);
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);
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);
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);
label170 = gtk_label_new (_("Icon size:"));
gtk_widget_show (label170);
gtk_table_attach (GTK_TABLE (table9), label170, 0, 1, 1, 2,
(GtkAttachOptions) (GTK_FILL),
(GtkAttachOptions) (0), 0, 0);
gtk_misc_set_alignment (GTK_MISC (label170), 0, 0.5);
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,
(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));
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,
(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));
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,
(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));
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,
(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));
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,
(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));
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,
(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));
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);
hbox15 = gtk_hbox_new (TRUE, 0);
gtk_widget_show (hbox15);
gtk_box_pack_start (GTK_BOX (vbox15), hbox15, FALSE, FALSE, 0);
button_customize_toolbar = gtk_button_new (); button_customize_toolbar = gtk_button_new ();
gtk_widget_show (button_customize_toolbar); gtk_widget_show (button_customize_toolbar);
gtk_box_pack_start (GTK_BOX (hbox15), button_customize_toolbar, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox53), button_customize_toolbar, FALSE, FALSE, 0);
alignment45 = gtk_alignment_new (0.5, 0.5, 0, 0); alignment45 = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_widget_show (alignment45); gtk_widget_show (alignment45);
@ -3468,6 +3394,117 @@ create_prefs_dialog (void)
gtk_widget_show (label236); gtk_widget_show (label236);
gtk_box_pack_start (GTK_BOX (hbox16), label236, FALSE, FALSE, 0); 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_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 (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_style_default_group);
radio_toolbar_style_default_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_imagetext));
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_image), radio_toolbar_style_default_group);
radio_toolbar_style_default_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_image));
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_text), radio_toolbar_style_default_group);
radio_toolbar_style_default_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_text));
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_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_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_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 (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_icon_default_group);
radio_toolbar_icon_default_group = gtk_radio_button_get_group (GTK_RADIO_BUTTON (radio_toolbar_verysmall));
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));
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);
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);
label164 = gtk_label_new (_("Toolbar")); label164 = gtk_label_new (_("Toolbar"));
gtk_widget_show (label164); gtk_widget_show (label164);
gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 2), label164); gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook2), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook2), 2), label164);
@ -4902,27 +4939,33 @@ create_prefs_dialog (void)
GLADE_HOOKUP_OBJECT (prefs_dialog, frame28, "frame28"); GLADE_HOOKUP_OBJECT (prefs_dialog, frame28, "frame28");
GLADE_HOOKUP_OBJECT (prefs_dialog, alignment31, "alignment31"); GLADE_HOOKUP_OBJECT (prefs_dialog, alignment31, "alignment31");
GLADE_HOOKUP_OBJECT (prefs_dialog, vbox42, "vbox42"); 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_show, "check_toolbar_show");
GLADE_HOOKUP_OBJECT (prefs_dialog, check_toolbar_in_menu, "check_toolbar_in_menu"); 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, vbox53, "vbox53");
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, button_customize_toolbar, "button_customize_toolbar"); GLADE_HOOKUP_OBJECT (prefs_dialog, button_customize_toolbar, "button_customize_toolbar");
GLADE_HOOKUP_OBJECT (prefs_dialog, alignment45, "alignment45"); GLADE_HOOKUP_OBJECT (prefs_dialog, alignment45, "alignment45");
GLADE_HOOKUP_OBJECT (prefs_dialog, hbox16, "hbox16"); GLADE_HOOKUP_OBJECT (prefs_dialog, hbox16, "hbox16");
GLADE_HOOKUP_OBJECT (prefs_dialog, image2877, "image2877"); GLADE_HOOKUP_OBJECT (prefs_dialog, image2877, "image2877");
GLADE_HOOKUP_OBJECT (prefs_dialog, label236, "label236"); 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, label164, "label164");
GLADE_HOOKUP_OBJECT (prefs_dialog, notebook4, "notebook4"); GLADE_HOOKUP_OBJECT (prefs_dialog, notebook4, "notebook4");
GLADE_HOOKUP_OBJECT (prefs_dialog, vbox5, "vbox5"); GLADE_HOOKUP_OBJECT (prefs_dialog, vbox5, "vbox5");

View File

@ -406,6 +406,8 @@ static void save_dialog_prefs(GKeyFile *config)
/* toolbar */ /* toolbar */
g_key_file_set_boolean(config, PACKAGE, "pref_toolbar_show", toolbar_prefs.visible); 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_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_style", toolbar_prefs.icon_style);
g_key_file_set_integer(config, PACKAGE, "pref_toolbar_icon_size", toolbar_prefs.icon_size); g_key_file_set_integer(config, PACKAGE, "pref_toolbar_icon_size", toolbar_prefs.icon_size);
@ -616,14 +618,6 @@ void configuration_load_session_files(GKeyFile *config, gboolean read_recent_fil
} }
#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) static void load_dialog_prefs(GKeyFile *config)
{ {
gchar *tmp_string, *tmp_string2; gchar *tmp_string, *tmp_string2;
@ -729,12 +723,13 @@ static void load_dialog_prefs(GKeyFile *config)
toolbar_prefs.visible = utils_get_setting_boolean(config, PACKAGE, "pref_toolbar_show", TRUE); 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); toolbar_prefs.append_to_menu = utils_get_setting_boolean(config, PACKAGE, "pref_toolbar_append_to_menu", FALSE);
{ {
GtkIconSize tb_iconsize; toolbar_prefs.use_gtk_default_style = utils_get_setting_boolean(config, PACKAGE, "pref_toolbar_use_gtk_default_style", TRUE);
GtkToolbarStyle tb_style; if (! toolbar_prefs.use_gtk_default_style)
GEANY_GET_SETTING("gtk-toolbar-style", tb_style, GTK_TOOLBAR_ICONS); toolbar_prefs.icon_style = utils_get_setting_integer(config, PACKAGE, "pref_toolbar_icon_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.use_gtk_default_icon = utils_get_setting_boolean(config, PACKAGE, "pref_toolbar_use_gtk_default_icon", TRUE);
toolbar_prefs.icon_size = utils_get_setting_integer(config, PACKAGE, "pref_toolbar_icon_size", tb_iconsize); 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 */ /* VTE */

View File

@ -430,6 +430,7 @@ typedef struct UIUtilsFuncs
GCallback callback); GCallback callback);
void (*ui_widget_modify_font_from_string) (GtkWidget *widget, const gchar *str); void (*ui_widget_modify_font_from_string) (GtkWidget *widget, const gchar *str);
gboolean (*ui_is_keyval_enter_or_return) (guint keyval); gboolean (*ui_is_keyval_enter_or_return) (guint keyval);
gint (*ui_get_gtk_settings_integer) (const gchar *property_name, gint default_value);
} }
UIUtilsFuncs; UIUtilsFuncs;

View File

@ -229,7 +229,8 @@ static UIUtilsFuncs uiutils_funcs = {
&ui_entry_add_clear_icon, &ui_entry_add_clear_icon,
&ui_menu_add_document_items, &ui_menu_add_document_items,
&ui_widget_modify_font_from_string, &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 = { static DialogFuncs dialog_funcs = {

View File

@ -456,6 +456,8 @@ static void prefs_init_dialog(void)
case 1: widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_text"); break; 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; 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); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);
switch (toolbar_prefs.icon_size) switch (toolbar_prefs.icon_size)
@ -466,6 +468,8 @@ static void prefs_init_dialog(void)
widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_small"); break; 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; 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); gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(widget), TRUE);
/* disable elements if toolbar is hidden */ /* disable elements if toolbar is hidden */
@ -851,30 +855,39 @@ on_prefs_button_clicked(GtkDialog *dialog, gint response, gpointer user_data)
widget = ui_lookup_widget(ui_widgets.prefs_dialog, "check_toolbar_in_menu"); 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)); 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"); widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_style_default");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) toolbar_prefs.use_gtk_default_style = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
toolbar_prefs.icon_style = 2; if (! toolbar_prefs.use_gtk_default_style)
else
{ {
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))) if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget)))
toolbar_prefs.icon_style = 0; toolbar_prefs.icon_style = 2;
else 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_icon_default");
widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_large"); toolbar_prefs.use_gtk_default_icon = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
if (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; { toolbar_prefs.icon_size = GTK_ICON_SIZE_LARGE_TOOLBAR;
else widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_large");
{
widget = ui_lookup_widget(ui_widgets.prefs_dialog, "radio_toolbar_small");
if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget))) 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 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 */ /* Files settings */
@ -1409,7 +1422,12 @@ static void on_toolbar_show_toggled(GtkToggleButton *togglebutton, gpointer user
{ {
gboolean sens = gtk_toggle_button_get_active(togglebutton); 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( gtk_widget_set_sensitive(
ui_lookup_widget(ui_widgets.prefs_dialog, "check_toolbar_in_menu"), sens); ui_lookup_widget(ui_widgets.prefs_dialog, "check_toolbar_in_menu"), sens);
} }

View File

@ -505,40 +505,59 @@ void toolbar_show_hide(void)
} }
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 */ gint icon_style;
switch (toolbar_prefs.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: default:
case GTK_TOOLBAR_BOTH: 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); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(ui_widgets.toolbar_menu, "images_and_text2")), TRUE);
break; break;
} }
case GTK_TOOLBAR_ICONS: 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); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(ui_widgets.toolbar_menu, "images_only2")), TRUE);
break; break;
} }
case GTK_TOOLBAR_TEXT: 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); gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(ui_lookup_widget(ui_widgets.toolbar_menu, "text_only2")), TRUE);
break; 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 || /* sets the icon size of the toolbar */
toolbar_prefs.icon_size == GTK_ICON_SIZE_LARGE_TOOLBAR || void toolbar_set_icon_size(void)
toolbar_prefs.icon_size == GTK_ICON_SIZE_MENU) {
{ gint icon_size;
gtk_toolbar_set_icon_size(GTK_TOOLBAR(main_widgets.toolbar), toolbar_prefs.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();
} }

View File

@ -30,6 +30,8 @@ typedef struct GeanyToolbarPrefs
gboolean visible; gboolean visible;
GtkIconSize icon_size; GtkIconSize icon_size;
GtkToolbarStyle icon_style; /**< Icon style. */ GtkToolbarStyle icon_style; /**< Icon style. */
gboolean use_gtk_default_style;
gboolean use_gtk_default_icon;
gboolean append_to_menu; gboolean append_to_menu;
} }
GeanyToolbarPrefs; GeanyToolbarPrefs;
@ -49,6 +51,10 @@ void toolbar_update_ui(void);
void toolbar_apply_settings(void); void toolbar_apply_settings(void);
void toolbar_set_icon_style(void);
void toolbar_set_icon_size(void);
void toolbar_show_hide(void); void toolbar_show_hide(void);
void toolbar_item_ref(GtkToolItem *item); void toolbar_item_ref(GtkToolItem *item);

View File

@ -2245,3 +2245,23 @@ gboolean ui_is_keyval_enter_or_return(guint keyval)
{ {
return (keyval == GDK_Return || keyval == GDK_ISO_Enter|| keyval == GDK_KP_Enter); 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;
}

View File

@ -306,4 +306,6 @@ void ui_swap_sidebar_pos(void);
gboolean ui_is_keyval_enter_or_return(guint keyval); gboolean ui_is_keyval_enter_or_return(guint keyval);
gint ui_get_gtk_settings_integer(const gchar *property_name, gint default_value);
#endif #endif