[gthumb] edit metadata dialogs: simplified layout
- From: Paolo Bacchilega <paobac src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gthumb] edit metadata dialogs: simplified layout
- Date: Sun, 8 Mar 2020 09:25:11 +0000 (UTC)
commit 951a1ba192933c3c13bfed8ff05669bcaba9ddf5
Author: Paolo Bacchilega <paobac src gnome org>
Date: Sun Mar 8 10:21:07 2020 +0100
edit metadata dialogs: simplified layout
Moved the lock button on the header bar. Show the navigation
bar only when the lock button is active.
.../hicolor/16x16/actions/lock-symbolic.svg | 116 +++++++++++++++++++++
data/ui/file-selection-info.ui | 106 +++++++++++--------
extensions/catalogs/data/ui/add-to-catalog.ui | 18 +---
extensions/catalogs/dlg-add-to-catalog.c | 30 +++---
extensions/edit_metadata/dlg-edit-metadata.c | 27 ++++-
extensions/edit_metadata/gth-edit-comment-dialog.c | 23 +---
.../edit_metadata/gth-edit-metadata-dialog.c | 6 --
.../edit_metadata/gth-edit-metadata-dialog.h | 2 -
extensions/edit_metadata/gth-edit-tags-dialog.c | 35 +------
gthumb/gth-file-selection-info.c | 8 ++
gthumb/gth-file-selection-info.h | 2 +
gthumb/gtk-utils.c | 18 ++++
gthumb/gtk-utils.h | 2 +
13 files changed, 252 insertions(+), 141 deletions(-)
---
diff --git a/data/icons/private/hicolor/16x16/actions/lock-symbolic.svg
b/data/icons/private/hicolor/16x16/actions/lock-symbolic.svg
new file mode 100644
index 00000000..a853b994
--- /dev/null
+++ b/data/icons/private/hicolor/16x16/actions/lock-symbolic.svg
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16"
+ height="16"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.92.4 5da689c313, 2019-01-14"
+ sodipodi:docname="lock-symbolic.svg">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient3946">
+ <stop
+ id="stop3948"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:0.74698794;" />
+ <stop
+ id="stop3950"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0.02409638;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3830-9">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.74698794;"
+ offset="0"
+ id="stop3832-7" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.02409638;"
+ offset="1"
+ id="stop3834-5" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3984">
+ <stop
+ style="stop-color:#f4deba;stop-opacity:1;"
+ offset="0"
+ id="stop3986" />
+ <stop
+ style="stop-color:#de9625;stop-opacity:0;"
+ offset="1"
+ id="stop3988" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#555753"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="1"
+ inkscape:pageshadow="2"
+ inkscape:zoom="16"
+ inkscape:cx="-10.159501"
+ inkscape:cy="9.886072"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-grids="true"
+ inkscape:window-width="1920"
+ inkscape:window-height="1136"
+ inkscape:window-x="0"
+ inkscape:window-y="27"
+ inkscape:window-maximized="1"
+ showborder="true"
+ fit-margin-top="0"
+ fit-margin-right="0"
+ fit-margin-left="0"
+ fit-margin-bottom="0"
+ showguides="true"
+ inkscape:guide-bbox="true">
+ <inkscape:grid
+ type="xygrid"
+ id="grid7044"
+ empspacing="8"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true"
+ originx="-31.97559"
+ originy="-816.00002"
+ spacingx="1"
+ spacingy="1" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Livello 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-31.97559,-220.36218)">
+ <path
+ inkscape:connector-curvature="0"
+
style="fill:#bebebe;fill-opacity:1;stroke:none;stroke-width:0.99999994px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 40.134177,220.50804 c -2.078913,0.0172 -4.245658,1.39119 -4.276622,4.07304 l -0.05386,3.19507 c
-0.213748,0.0167 -0.428071,0.0338 -0.641662,0.0503 -0.03177,0.66003 0.02447,4.54379 0.01329,7.67749 l
1.152704,0.71259 c 2.677302,-0.13582 5.069075,-0.099 8.470968,-0.96039 l -0.05429,-7.6762 c -0.109652,0.0177
-0.219435,0.0349 -0.329101,0.0527 0.105001,-0.0179 0.210304,-0.0348 0.315212,-0.0529 l -0.712168,-0.21363
0.01299,-3.64408 c -0.110968,-1.38744 -0.900103,-2.31177 -1.943754,-2.78369 -0.587896,-0.29305
-1.265862,-0.4361 -1.953827,-0.43034 z m 0.269619,1.49854 c 0.608196,-0.003 1.18865,0.19618 1.601085,0.61357
0.195717,0.20975 0.349857,0.47198 0.447318,0.78734 -0.0071,-0.008 -0.01403,-0.0133 -0.0213,-0.0207
0.01988,0.0454 0.03796,0.0929 0.05503,0.14118 0.04873,0.19321 0.07771,0.40436 0.08216,0.6352 l
0.03658,3.02563 c -1.738803,0.17162 -3.454282,0.31988 -5.159171,0.45759 l 0.04707,-2.71794 c 0.03589,-1.87985
1.542627,-2.91379 2.911231,-2.92183 z"
+ id="path3927"
+ sodipodi:nodetypes="sccccccccccccssccccccccs" />
+ </g>
+</svg>
diff --git a/data/ui/file-selection-info.ui b/data/ui/file-selection-info.ui
index 64d46366..480e3b02 100644
--- a/data/ui/file-selection-info.ui
+++ b/data/ui/file-selection-info.ui
@@ -2,28 +2,76 @@
<!-- Generated with glade 3.22.2 -->
<interface>
<requires lib="gtk+" version="3.20"/>
- <object class="GtkBox" id="content">
+ <object class="GtkRevealer" id="content">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="hexpand">True</property>
- <property name="orientation">vertical</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="spacing">6</property>
+ <property name="orientation">vertical</property>
<child>
- <object class="GtkButton" id="prev_button">
+ <object class="GtkBox">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_text" translatable="yes">Previous</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkButton" id="prev_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Previous</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">go-previous-symbolic</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
<child>
- <object class="GtkImage">
+ <object class="GtkLabel" id="info_label">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="icon_name">go-previous-symbolic</property>
+ <property name="wrap">True</property>
+ <property name="wrap_mode">word-char</property>
+ <property name="max_width_chars">30</property>
+ <property name="xalign">0.5</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="next_button">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Next</property>
+ <child>
+ <object class="GtkImage">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="icon_name">go-next-symbolic</property>
+ </object>
+ </child>
</object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
</child>
</object>
<packing>
@@ -33,49 +81,19 @@
</packing>
</child>
<child>
- <object class="GtkLabel" id="info_label">
+ <object class="GtkSeparator">
<property name="visible">True</property>
<property name="can_focus">False</property>
- <property name="wrap">True</property>
- <property name="wrap_mode">word-char</property>
- <property name="max_width_chars">30</property>
- <property name="xalign">0.5</property>
- <attributes>
- <attribute name="weight" value="bold"/>
- </attributes>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton" id="next_button">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="tooltip_text" translatable="yes">Next</property>
- <child>
- <object class="GtkImage">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="icon_name">go-next-symbolic</property>
- </object>
- </child>
+ <property name="margin_top">10</property>
+ <property name="margin_bottom">10</property>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">True</property>
- <property name="position">2</property>
+ <property name="position">1</property>
</packing>
</child>
</object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
</child>
</object>
</interface>
diff --git a/extensions/catalogs/data/ui/add-to-catalog.ui b/extensions/catalogs/data/ui/add-to-catalog.ui
index e93be842..01f68344 100644
--- a/extensions/catalogs/data/ui/add-to-catalog.ui
+++ b/extensions/catalogs/data/ui/add-to-catalog.ui
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!-- Generated with glade 3.22.1 -->
+<!-- Generated with glade 3.22.2 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<object class="GtkBox" id="dialog_content">
@@ -114,21 +114,5 @@
<property name="position">2</property>
</packing>
</child>
- <child>
- <object class="GtkCheckButton" id="keep_open_checkbutton">
- <property name="label" translatable="yes">_Keep the dialog open</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="receives_default">False</property>
- <property name="halign">start</property>
- <property name="use_underline">True</property>
- <property name="draw_indicator">True</property>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">3</property>
- </packing>
- </child>
</object>
</interface>
diff --git a/extensions/catalogs/dlg-add-to-catalog.c b/extensions/catalogs/dlg-add-to-catalog.c
index e6a78f55..202ed2cb 100644
--- a/extensions/catalogs/dlg-add-to-catalog.c
+++ b/extensions/catalogs/dlg-add-to-catalog.c
@@ -85,6 +85,7 @@ typedef struct {
GthBrowser *browser;
GtkBuilder *builder;
GtkWidget *dialog;
+ GtkWidget *keep_open_checkbutton;
GtkWidget *source_tree;
GtkWidget *info;
AddData *add_data;
@@ -260,7 +261,7 @@ static void
add_button_clicked_cb (GtkWidget *widget,
DialogData *data)
{
- add_selection_to_catalog (data, ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET
("keep_open_checkbutton"))));
+ add_selection_to_catalog (data, ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON
(data->keep_open_checkbutton)));
}
@@ -276,8 +277,8 @@ update_sensitivity (DialogData *data)
items = gth_file_selection_get_selected (GTH_FILE_SELECTION (gth_browser_get_file_list_view
(data->browser)));
can_add = (items != NULL) && (selected_catalog != NULL);
gtk_dialog_set_response_sensitive (GTK_DIALOG (data->dialog), GTK_RESPONSE_OK, can_add);
- gtk_toggle_button_set_inconsistent (GTK_TOGGLE_BUTTON (GET_WIDGET ("view_destination_checkbutton")),
gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_open_checkbutton"))));
- gtk_widget_set_sensitive (GET_WIDGET ("view_destination_checkbutton"), ! gtk_toggle_button_get_active
(GTK_TOGGLE_BUTTON (GET_WIDGET ("keep_open_checkbutton"))));
+ gtk_toggle_button_set_inconsistent (GTK_TOGGLE_BUTTON (GET_WIDGET ("view_destination_checkbutton")),
gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->keep_open_checkbutton)));
+ gtk_widget_set_sensitive (GET_WIDGET ("view_destination_checkbutton"), ! gtk_toggle_button_get_active
(GTK_TOGGLE_BUTTON (data->keep_open_checkbutton)));
file_data_list = gth_file_list_get_files (GTH_FILE_LIST (gth_browser_get_file_list (data->browser)),
items);
gth_file_selection_info_set_file_list (GTH_FILE_SELECTION_INFO (data->info), file_data_list);
@@ -659,6 +660,8 @@ static void
keep_open_button_toggled_cb (GtkToggleButton *button,
DialogData *data)
{
+ gth_file_selection_info_set_visible (GTH_FILE_SELECTION_INFO (data->info),
+ gtk_toggle_button_get_active (button));
update_sensitivity (data);
}
@@ -669,7 +672,6 @@ dlg_add_to_catalog (GthBrowser *browser)
DialogData *data;
GtkTreeSelection *selection;
char *last_catalog;
- GtkWidget *sep;
if (gth_browser_get_dialog (browser, ADD_TO_CATALOG_DIALOG_NAME)) {
gtk_window_present (GTK_WINDOW (gth_browser_get_dialog (browser,
ADD_TO_CATALOG_DIALOG_NAME)));
@@ -697,24 +699,22 @@ dlg_add_to_catalog (GthBrowser *browser)
FALSE,
0);
- sep = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
- gtk_widget_show (sep);
- gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (data->dialog))),
- sep,
- FALSE,
- FALSE,
- 5);
-
gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (data->dialog))),
GET_WIDGET ("dialog_content"),
- FALSE,
- FALSE,
+ TRUE,
+ TRUE,
0);
gtk_dialog_add_buttons (GTK_DIALOG (data->dialog),
_GTK_LABEL_CLOSE, GTK_RESPONSE_CANCEL,
_("_Add"), GTK_RESPONSE_OK,
NULL);
+
+ data->keep_open_checkbutton = _gtk_toggle_image_button_new_for_header_bar ("lock-symbolic");
+ gtk_widget_set_tooltip_text (data->keep_open_checkbutton, _("Keep the dialog open"));
+ gtk_widget_show (data->keep_open_checkbutton);
+ _gtk_dialog_add_action_widget (GTK_DIALOG (data->dialog), data->keep_open_checkbutton);
+
_gtk_dialog_add_class_to_response (GTK_DIALOG (data->dialog), GTK_RESPONSE_OK,
GTK_STYLE_CLASS_SUGGESTED_ACTION);
gth_browser_set_dialog (browser, ADD_TO_CATALOG_DIALOG_NAME, data->dialog);
@@ -760,7 +760,7 @@ dlg_add_to_catalog (GthBrowser *browser)
"clicked",
G_CALLBACK (new_library_button_clicked_cb),
data);
- g_signal_connect (G_OBJECT (GET_WIDGET ("keep_open_checkbutton")),
+ g_signal_connect (data->keep_open_checkbutton,
"toggled",
G_CALLBACK (keep_open_button_toggled_cb),
data);
diff --git a/extensions/edit_metadata/dlg-edit-metadata.c b/extensions/edit_metadata/dlg-edit-metadata.c
index 93363a4f..6e00292b 100644
--- a/extensions/edit_metadata/dlg-edit-metadata.c
+++ b/extensions/edit_metadata/dlg-edit-metadata.c
@@ -33,6 +33,8 @@ typedef struct {
int ref;
GthBrowser *browser;
GtkWidget *dialog;
+ GtkWidget *keep_open_checkbutton;
+ GtkWidget *info;
char *dialog_name;
GList *file_list; /* GthFileData list */
GList *parents;
@@ -165,7 +167,7 @@ edit_metadata_dialog__response_cb (GtkDialog *dialog,
if (data->file_list == NULL)
return;
- data->close_dialog = ! gth_edit_metadata_dialog_get_keep_open (GTH_EDIT_METADATA_DIALOG
(data->dialog));
+ data->close_dialog = ! gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->keep_open_checkbutton));
/* get the parents list */
@@ -239,6 +241,7 @@ loader_completed_cb (GthTask *task,
_g_object_list_unref (data->file_list);
data->file_list = _g_object_list_ref (gth_load_file_data_task_get_result (GTH_LOAD_FILE_DATA_TASK
(task)));
+ gth_file_selection_info_set_file_list (GTH_FILE_SELECTION_INFO (data->info), data->file_list);
gth_edit_metadata_dialog_set_file_list (GTH_EDIT_METADATA_DIALOG (data->dialog), data->file_list);
gtk_window_set_transient_for (GTK_WINDOW (data->dialog), GTK_WINDOW (data->browser));
@@ -299,6 +302,15 @@ file_selection_changed_cb (GthFileSelection *self,
}
+static void
+keep_open_button_toggled_cb (GtkToggleButton *button,
+ DialogData *data)
+{
+ gth_file_selection_info_set_visible (GTH_FILE_SELECTION_INFO (data->info),
+ gtk_toggle_button_get_active (button));
+}
+
+
void
dlg_edit_metadata (GthBrowser *browser,
GType dialog_type,
@@ -322,11 +334,20 @@ dlg_edit_metadata (GthBrowser *browser,
data->dialog_name = g_strdup (dialog_name);
data->never_shown = TRUE;
+ data->info = gth_file_selection_info_new ();
+ gtk_widget_show (data->info);
+ gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (data->dialog))), data->info,
FALSE, FALSE, 0);
+
gtk_dialog_add_buttons (GTK_DIALOG (data->dialog),
_GTK_LABEL_CLOSE, GTK_RESPONSE_CANCEL,
_GTK_LABEL_SAVE, GTK_RESPONSE_OK,
NULL);
+ data->keep_open_checkbutton = _gtk_toggle_image_button_new_for_header_bar ("lock-symbolic");
+ gtk_widget_set_tooltip_text (data->keep_open_checkbutton, _("Keep the dialog open"));
+ gtk_widget_show (data->keep_open_checkbutton);
+ _gtk_dialog_add_action_widget (GTK_DIALOG (data->dialog), data->keep_open_checkbutton);
+
_gtk_dialog_add_class_to_response (GTK_DIALOG (data->dialog), GTK_RESPONSE_OK,
GTK_STYLE_CLASS_SUGGESTED_ACTION);
gth_browser_set_dialog (browser, data->dialog_name, data->dialog);
@@ -338,6 +359,10 @@ dlg_edit_metadata (GthBrowser *browser,
"response",
G_CALLBACK (edit_metadata_dialog__response_cb),
data);
+ g_signal_connect (data->keep_open_checkbutton,
+ "toggled",
+ G_CALLBACK (keep_open_button_toggled_cb),
+ data);
data->file_selection_changed_event =
g_signal_connect (gth_browser_get_file_list_view (data->browser),
"file-selection-changed",
diff --git a/extensions/edit_metadata/gth-edit-comment-dialog.c
b/extensions/edit_metadata/gth-edit-comment-dialog.c
index 3bed6c01..1459d805 100644
--- a/extensions/edit_metadata/gth-edit-comment-dialog.c
+++ b/extensions/edit_metadata/gth-edit-comment-dialog.c
@@ -28,8 +28,6 @@
struct _GthEditCommentDialogPrivate {
GtkWidget *notebook;
GtkWidget *save_changed_checkbutton;
- GtkWidget *keep_open_check_button;
- GtkWidget *info;
};
@@ -54,8 +52,6 @@ gth_edit_comment_dialog_set_file_list (GthEditMetadataDialog *base,
GList *pages;
GList *scan;
- gth_file_selection_info_set_file_list (GTH_FILE_SELECTION_INFO (self->priv->info), file_list);
-
/* update the widgets */
n_files = g_list_length (file_list);
@@ -101,20 +97,11 @@ gth_edit_comment_dialog_update_info (GthEditMetadataDialog *base,
}
-static gboolean
-gth_edit_comment_dialog_get_keep_open (GthEditMetadataDialog *base)
-{
- GthEditCommentDialog *self = GTH_EDIT_COMMENT_DIALOG (base);
- return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->priv->keep_open_check_button));
-}
-
-
static void
gth_edit_comment_dialog_gth_edit_metadata_dialog_interface_init (GthEditMetadataDialogInterface *iface)
{
iface->set_file_list = gth_edit_comment_dialog_set_file_list;
iface->update_info = gth_edit_comment_dialog_update_info;
- iface->get_keep_open = gth_edit_comment_dialog_get_keep_open;
}
@@ -142,11 +129,7 @@ gth_edit_comment_dialog_init (GthEditCommentDialog *self)
vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 0);
gtk_widget_show (vbox);
- gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), vbox, TRUE, TRUE, 0);
-
- self->priv->info = gth_file_selection_info_new ();
- gtk_widget_show (self->priv->info);
- gtk_box_pack_start (GTK_BOX (vbox), self->priv->info, FALSE, FALSE, 0);
+ gtk_box_pack_end (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), vbox, TRUE, TRUE, 0);
self->priv->notebook = gtk_notebook_new ();
gtk_widget_show (self->priv->notebook);
@@ -156,10 +139,6 @@ gth_edit_comment_dialog_init (GthEditCommentDialog *self)
gtk_widget_show (self->priv->save_changed_checkbutton);
gtk_box_pack_start (GTK_BOX (vbox), self->priv->save_changed_checkbutton, FALSE, FALSE, 0);
- self->priv->keep_open_check_button = gtk_check_button_new_with_mnemonic (_("_Keep the dialog open"));
- gtk_widget_show (self->priv->keep_open_check_button);
- gtk_box_pack_start (GTK_BOX (vbox), self->priv->keep_open_check_button, FALSE, FALSE, 0);
-
pages = gth_main_get_type_set ("edit-comment-dialog-page");
if (pages == NULL)
return;
diff --git a/extensions/edit_metadata/gth-edit-metadata-dialog.c
b/extensions/edit_metadata/gth-edit-metadata-dialog.c
index c5673639..c2319234 100644
--- a/extensions/edit_metadata/gth-edit-metadata-dialog.c
+++ b/extensions/edit_metadata/gth-edit-metadata-dialog.c
@@ -48,9 +48,3 @@ gth_edit_metadata_dialog_update_info (GthEditMetadataDialog *self,
GTH_EDIT_METADATA_DIALOG_GET_INTERFACE (self)->update_info (self, file_list);
}
-
-gboolean
-gth_edit_metadata_dialog_get_keep_open (GthEditMetadataDialog *self)
-{
- return GTH_EDIT_METADATA_DIALOG_GET_INTERFACE (self)->get_keep_open (self);
-}
diff --git a/extensions/edit_metadata/gth-edit-metadata-dialog.h
b/extensions/edit_metadata/gth-edit-metadata-dialog.h
index bef2464c..0615c9c5 100644
--- a/extensions/edit_metadata/gth-edit-metadata-dialog.h
+++ b/extensions/edit_metadata/gth-edit-metadata-dialog.h
@@ -41,7 +41,6 @@ struct _GthEditMetadataDialogInterface {
GList *file_list /* GthFileData list */);
void (*update_info) (GthEditMetadataDialog *dialog,
GList *file_list /* GthFileData list */);
- gboolean (*get_keep_open) (GthEditMetadataDialog *dialog);
};
/* GthEditMetadataDialog */
@@ -51,7 +50,6 @@ void gth_edit_metadata_dialog_set_file_list (GthEditMetadataDialog *d
GList *file_list /* GthFileData list
*/);
void gth_edit_metadata_dialog_update_info (GthEditMetadataDialog *dialog,
GList *file_list /* GthFileData list
*/);
-gboolean gth_edit_metadata_dialog_get_keep_open (GthEditMetadataDialog *dialog);
G_END_DECLS
diff --git a/extensions/edit_metadata/gth-edit-tags-dialog.c b/extensions/edit_metadata/gth-edit-tags-dialog.c
index 10521356..7d28096f 100644
--- a/extensions/edit_metadata/gth-edit-tags-dialog.c
+++ b/extensions/edit_metadata/gth-edit-tags-dialog.c
@@ -32,8 +32,6 @@
struct _GthEditTagsDialogPrivate {
GtkBuilder *builder;
GtkWidget *tags_entry;
- GtkWidget *keep_open_check_button;
- GtkWidget *info;
};
@@ -70,8 +68,6 @@ gth_edit_tags_dialog_set_file_list (GthEditMetadataDialog *base,
GList *common_tags_list;
GList *no_common_tags_list;
- gth_file_selection_info_set_file_list (GTH_FILE_SELECTION_INFO (self->priv->info), file_list);
-
/* update the tag entry */
utils_get_common_tags (file_list, &common_tags, &no_common_tags);
@@ -147,20 +143,11 @@ gth_edit_tags_dialog_update_info (GthEditMetadataDialog *base,
}
-static gboolean
-gth_edit_tags_dialog_get_keep_open (GthEditMetadataDialog *base)
-{
- GthEditTagsDialog *self = GTH_EDIT_TAGS_DIALOG (base);
- return gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->priv->keep_open_check_button));
-}
-
-
static void
gth_edit_tags_dialog_gth_edit_metadata_dialog_interface_init (GthEditMetadataDialogInterface *iface)
{
iface->set_file_list = gth_edit_tags_dialog_set_file_list;
iface->update_info = gth_edit_tags_dialog_update_info;
- iface->get_keep_open = gth_edit_tags_dialog_get_keep_open;
}
@@ -177,9 +164,6 @@ gth_edit_tags_dialog_class_init (GthEditTagsDialogClass *klass)
static void
gth_edit_tags_dialog_init (GthEditTagsDialog *self)
{
- GtkWidget *box;
- GtkWidget *sep;
-
self->priv = gth_edit_tags_dialog_get_instance_private (self);
self->priv->builder = _gtk_builder_new_from_file ("tag-chooser.ui", "edit_metadata");
@@ -195,22 +179,5 @@ gth_edit_tags_dialog_init (GthEditTagsDialog *self)
gtk_widget_show (self->priv->tags_entry);
gtk_box_pack_start (GTK_BOX (GET_WIDGET ("tag_entry_box")), self->priv->tags_entry, TRUE, TRUE, 0);
- box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 6);
-
- self->priv->info = gth_file_selection_info_new ();
- gtk_widget_show (self->priv->info);
- gtk_box_pack_start (GTK_BOX (box), self->priv->info, FALSE, FALSE, 0);
-
- sep = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);
- gtk_widget_show (sep);
- gtk_box_pack_start (GTK_BOX (box), sep, FALSE, FALSE, 0);
-
- gtk_box_pack_start (GTK_BOX (box), GET_WIDGET ("content"), TRUE, TRUE, 0);
-
- self->priv->keep_open_check_button = gtk_check_button_new_with_mnemonic (_("_Keep the dialog open"));
- gtk_widget_show (self->priv->keep_open_check_button);
- gtk_box_pack_start (GTK_BOX (box), self->priv->keep_open_check_button, FALSE, FALSE, 0);
-
- gtk_widget_show (box);
- gtk_box_pack_start (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), box, TRUE, TRUE, 0);
+ gtk_box_pack_end (GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG (self))), GET_WIDGET ("content"),
TRUE, TRUE, 0);
}
diff --git a/gthumb/gth-file-selection-info.c b/gthumb/gth-file-selection-info.c
index 21033d73..bf904ad4 100644
--- a/gthumb/gth-file-selection-info.c
+++ b/gthumb/gth-file-selection-info.c
@@ -144,3 +144,11 @@ gth_file_selection_info_set_file_list (GthFileSelectionInfo *self,
g_free (title);
}
+
+
+void
+gth_file_selection_info_set_visible (GthFileSelectionInfo *self,
+ gboolean visible)
+{
+ gtk_revealer_set_reveal_child (GTK_REVEALER (GET_WIDGET ("content")), visible);
+}
diff --git a/gthumb/gth-file-selection-info.h b/gthumb/gth-file-selection-info.h
index 457760ba..25e6489f 100644
--- a/gthumb/gth-file-selection-info.h
+++ b/gthumb/gth-file-selection-info.h
@@ -51,6 +51,8 @@ GType gth_file_selection_info_get_type (void);
GtkWidget * gth_file_selection_info_new (void);
void gth_file_selection_info_set_file_list (GthFileSelectionInfo *self,
GList *file_list);
+void gth_file_selection_info_set_visible (GthFileSelectionInfo *self,
+ gboolean visible);
G_END_DECLS
diff --git a/gthumb/gtk-utils.c b/gthumb/gtk-utils.c
index 70511a87..16ff339b 100644
--- a/gthumb/gtk-utils.c
+++ b/gthumb/gtk-utils.c
@@ -284,6 +284,24 @@ _gtk_dialog_add_class_to_response (GtkDialog *dialog,
}
+void
+_gtk_dialog_add_action_widget (GtkDialog *dialog,
+ GtkWidget *button)
+{
+ if (gtk_dialog_get_header_bar (dialog)) {
+ GtkWidget *headerbar = gtk_dialog_get_header_bar (dialog);
+
+ gtk_container_add (GTK_CONTAINER (headerbar), button);
+ gtk_container_child_set (GTK_CONTAINER (headerbar),
+ button,
+ "pack-type", GTK_PACK_END,
+ NULL);
+ }
+ else
+ gtk_container_add (GTK_CONTAINER (gtk_dialog_get_action_area (dialog)), button);
+}
+
+
GdkPixbuf *
_g_icon_get_pixbuf (GIcon *icon,
int icon_size,
diff --git a/gthumb/gtk-utils.h b/gthumb/gtk-utils.h
index dc67942f..a23b3d41 100644
--- a/gthumb/gtk-utils.h
+++ b/gthumb/gtk-utils.h
@@ -108,6 +108,8 @@ void _gtk_dialog_add_to_window_group (GtkDialog *di
void _gtk_dialog_add_class_to_response (GtkDialog *dialog,
int respose_id,
const char *class_name);
+void _gtk_dialog_add_action_widget (GtkDialog *dialog,
+ GtkWidget *button);
GdkPixbuf * _g_icon_get_pixbuf (GIcon *icon,
int icon_size,
GtkIconTheme *icon_theme);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]