[gthumb: 7/15] [burn_disc] added ability to specify the disc name



commit 295b256b2a71cb28913c7eeed8541aec29d09e27
Author: Paolo Bacchilega <paobac src gnome org>
Date:   Thu Feb 25 15:32:25 2010 +0100

    [burn_disc] added ability to specify the disc name

 configure.ac                                      |    2 +
 extensions/burn_disc/Makefile.am                  |    2 +
 extensions/burn_disc/actions.c                    |   24 ++++++++++-
 extensions/burn_disc/data/Makefile.am             |    3 +
 extensions/burn_disc/data/ui/Makefile.am          |    5 ++
 extensions/burn_disc/data/ui/burn-disc-options.ui |   47 +++++++++++++++++++++
 6 files changed, 82 insertions(+), 1 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 0041068..4420070 100644
--- a/configure.ac
+++ b/configure.ac
@@ -406,6 +406,8 @@ extensions/bookmarks/Makefile
 extensions/bookmarks/data/Makefile
 extensions/bookmarks/data/ui/Makefile
 extensions/burn_disc/Makefile
+extensions/burn_disc/data/Makefile
+extensions/burn_disc/data/ui/Makefile
 extensions/catalogs/Makefile
 extensions/catalogs/data/Makefile
 extensions/catalogs/data/ui/Makefile
diff --git a/extensions/burn_disc/Makefile.am b/extensions/burn_disc/Makefile.am
index 10417e2..d3468f7 100644
--- a/extensions/burn_disc/Makefile.am
+++ b/extensions/burn_disc/Makefile.am
@@ -1,5 +1,7 @@
 if ENABLE_BRASERO_TOOLS
 
+SUBDIRS = data
+
 extensiondir = $(pkglibdir)/extensions
 extension_LTLIBRARIES = libburn_disc.la
 
diff --git a/extensions/burn_disc/actions.c b/extensions/burn_disc/actions.c
index 60bcf02..5cdd609 100644
--- a/extensions/burn_disc/actions.c
+++ b/extensions/burn_disc/actions.c
@@ -33,6 +33,14 @@
 #include <gthumb.h>
 
 
+static void
+label_entry_changed_cb (GtkEntry           *entry,
+			BraseroBurnSession *session)
+{
+	brasero_burn_session_set_label (session, gtk_entry_get_text (entry));
+}
+
+
 void
 gth_browser_activate_action_burn_disc (GtkAction  *action,
 				       GthBrowser *browser)
@@ -59,6 +67,8 @@ gth_browser_activate_action_burn_disc (GtkAction  *action,
 		GList               *scan;
 		GHashTable          *parents;
 		GtkWidget           *dialog;
+		GtkBuilder          *builder;
+		GtkWidget           *options;
 		GtkResponseType      result;
 
 		session = brasero_session_cfg_new ();
@@ -159,7 +169,18 @@ gth_browser_activate_action_burn_disc (GtkAction  *action,
 		gtk_window_set_icon_name (GTK_WINDOW (dialog), gtk_window_get_icon_name (GTK_WINDOW (browser)));
 		gtk_window_set_title (GTK_WINDOW (dialog), _("Write to Disc"));
 		gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (browser));
-		gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
+
+		builder = _gtk_builder_new_from_file ("burn-disc-options.ui", "burn_disc");
+		options = _gtk_builder_get_widget (builder, "options");
+		gtk_entry_set_text (GTK_ENTRY (_gtk_builder_get_widget (builder, "label_entry")),
+				    g_file_info_get_display_name (gth_browser_get_location_data (browser)->info));
+		g_signal_connect (_gtk_builder_get_widget (builder, "label_entry"),
+				  "changed",
+				  G_CALLBACK (label_entry_changed_cb),
+				  session);
+		gtk_widget_show (options);
+		brasero_burn_options_add_options (BRASERO_BURN_OPTIONS (dialog), options);
+
 		result = gtk_dialog_run (GTK_DIALOG (dialog));
 		gtk_widget_destroy (dialog);
 
@@ -168,6 +189,7 @@ gth_browser_activate_action_burn_disc (GtkAction  *action,
 			gtk_window_set_icon_name (GTK_WINDOW (dialog), gtk_window_get_icon_name (GTK_WINDOW (browser)));
 			gtk_window_set_title (GTK_WINDOW (dialog), _("Write to Disc"));
 			brasero_session_cfg_disable (session);
+			gtk_window_set_transient_for (GTK_WINDOW (dialog), GTK_WINDOW (browser));
 			gtk_window_present (GTK_WINDOW (dialog));
 			brasero_burn_dialog_run (BRASERO_BURN_DIALOG (dialog),
 						 BRASERO_BURN_SESSION (session));
diff --git a/extensions/burn_disc/data/Makefile.am b/extensions/burn_disc/data/Makefile.am
new file mode 100644
index 0000000..c1713cf
--- /dev/null
+++ b/extensions/burn_disc/data/Makefile.am
@@ -0,0 +1,3 @@
+SUBDIRS = ui
+
+-include $(top_srcdir)/git.mk
diff --git a/extensions/burn_disc/data/ui/Makefile.am b/extensions/burn_disc/data/ui/Makefile.am
new file mode 100644
index 0000000..f121c88
--- /dev/null
+++ b/extensions/burn_disc/data/ui/Makefile.am
@@ -0,0 +1,5 @@
+uidir = $(pkgdatadir)/ui
+ui_DATA = burn-disc-options.ui
+EXTRA_DIST = $(ui_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/extensions/burn_disc/data/ui/burn-disc-options.ui b/extensions/burn_disc/data/ui/burn-disc-options.ui
new file mode 100644
index 0000000..64d0c44
--- /dev/null
+++ b/extensions/burn_disc/data/ui/burn-disc-options.ui
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<interface>
+  <requires lib="gtk+" version="2.16"/>
+  <!-- interface-naming-policy project-wide -->
+  <object class="GtkAlignment" id="options">
+    <property name="visible">True</property>
+    <property name="bottom_padding">6</property>
+    <property name="left_padding">12</property>
+    <property name="right_padding">6</property>
+    <child>
+      <object class="GtkVBox" id="options_box">
+        <property name="visible">True</property>
+        <property name="orientation">vertical</property>
+        <property name="spacing">6</property>
+        <child>
+          <object class="GtkLabel" id="label1">
+            <property name="visible">True</property>
+            <property name="xalign">0</property>
+            <property name="label" translatable="yes">Disc Name</property>
+            <attributes>
+              <attribute name="weight" value="bold"/>
+            </attributes>
+          </object>
+          <packing>
+            <property name="position">0</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkAlignment" id="alignment2">
+            <property name="visible">True</property>
+            <property name="left_padding">24</property>
+            <child>
+              <object class="GtkEntry" id="label_entry">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="invisible_char">&#x25CF;</property>
+              </object>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]