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>
* 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.
This is useful to save vertical space.
Customize Toolbar
See `Customizing the toolbar`_.
Appearance
``````````
@ -1799,12 +1801,11 @@ Appearance
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).
Customize Toolbar
See `Customizing the toolbar`_.
The choice System default uses whatever icon size is set by GTK.
Editor Features preferences

View File

@ -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,19 +4839,157 @@ Bottom
<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>
<property name="homogeneous">False</property>
<property name="spacing">0</property>
<child>
<widget class="GtkVBox" id="vbox52">
<property name="visible">True</property>
<property name="homogeneous">False</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>
<packing>
<property name="padding">0</property>
@ -4865,22 +4999,312 @@ Bottom
</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="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>
<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="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="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>
<packing>
<property name="padding">0</property>
<property name="expand">False</property>
<property name="fill">False</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="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>
</child>
</widget>
@ -4889,7 +5313,7 @@ Bottom
</child>
<child>
<widget class="GtkLabel" id="label196">
<widget class="GtkLabel" id="label246">
<property name="visible">True</property>
<property name="label" translatable="yes">&lt;b&gt;Toolbar&lt;/b&gt;</property>
<property name="use_underline">False</property>
@ -4917,352 +5341,6 @@ Bottom
<property name="fill">True</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="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>
<packing>
<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="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">

View File

@ -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 \

View File

@ -507,8 +507,8 @@ on_images_and_text2_activate (GtkCheckMenuItem *menuitem,
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 @@ on_images_only2_activate (GtkCheckMenuItem *menuitem,
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 @@ on_text_only2_activate (GtkCheckMenuItem *menuitem,
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 @@ on_toolbar_large_icons1_activate (GtkCheckMenuItem *menuitem,
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 @@ on_toolbar_small_icons1_activate (GtkCheckMenuItem *menuitem,
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 @@ on_very_small_icons1_activate (GtkCheckMenuItem *menuitem,
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();
}

View File

@ -2453,29 +2453,35 @@ create_prefs_dialog (void)
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,114 +3349,34 @@ create_prefs_dialog (void)
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);
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);
vbox53 = gtk_vbox_new (FALSE, 0);
gtk_widget_show (vbox53);
gtk_box_pack_start (GTK_BOX (hbox18), vbox53, FALSE, FALSE, 0);
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);
gtk_box_pack_start (GTK_BOX (vbox53), button_customize_toolbar, FALSE, FALSE, 0);
alignment45 = gtk_alignment_new (0.5, 0.5, 0, 0);
gtk_widget_show (alignment45);
@ -3468,6 +3394,117 @@ create_prefs_dialog (void)
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_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"));
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 @@ create_prefs_dialog (void)
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");

View File

@ -406,6 +406,8 @@ static void save_dialog_prefs(GKeyFile *config)
/* 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 @@ 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)
{
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.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 */

View File

@ -430,6 +430,7 @@ typedef struct UIUtilsFuncs
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;

View File

@ -229,7 +229,8 @@ static UIUtilsFuncs uiutils_funcs = {
&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 = {

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;
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 @@ static void prefs_init_dialog(void)
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 @@ on_prefs_button_clicked(GtkDialog *dialog, gint response, gpointer user_data)
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,7 +1422,12 @@ static void on_toolbar_show_toggled(GtkToggleButton *togglebutton, gpointer user
{
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);
}

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 */
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();
}

View File

@ -30,6 +30,8 @@ typedef struct GeanyToolbarPrefs
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_update_ui(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_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);
}
/** 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);
gint ui_get_gtk_settings_integer(const gchar *property_name, gint default_value);
#endif