[Goodies-commits] r4673 - in xfburn/trunk: . xfburn

David Mohr squisher at xfce.org
Fri Apr 25 07:04:29 CEST 2008


Author: squisher
Date: 2008-04-25 05:04:29 +0000 (Fri, 25 Apr 2008)
New Revision: 4673

Added:
   xfburn/trunk/xfburn/xfburn-welcome-tab.c
   xfburn/trunk/xfburn/xfburn-welcome-tab.h
Modified:
   xfburn/trunk/TODO
   xfburn/trunk/xfburn/Makefile.am
   xfburn/trunk/xfburn/xfburn-compositions-notebook.c
   xfburn/trunk/xfburn/xfburn-compositions-notebook.h
   xfburn/trunk/xfburn/xfburn-hal-manager.c
   xfburn/trunk/xfburn/xfburn-hal-manager.h
   xfburn/trunk/xfburn/xfburn-main-window.c
Log:
Adding basic welcome tab support

Modified: xfburn/trunk/TODO
===================================================================
--- xfburn/trunk/TODO	2008-04-24 18:06:21 UTC (rev 4672)
+++ xfburn/trunk/TODO	2008-04-25 05:04:29 UTC (rev 4673)
@@ -6,6 +6,7 @@
 - add text/uri-list DnD target support
 - remove temporary files
 - use more thunar-vfs
+- add verification of written disc
 
 various fixes and changes
 =========================
@@ -15,7 +16,7 @@
     - the burning backend, and [started]
     - the burning dialogs      [DONE]
 - implement progress dialog when adding files to composition 
-- adding files to composition should be a new thread
+  - adding files to composition should be a new thread
 - fix available writing speeds detection
   - and sort them [DONE]
 - implement means to calculate available write speeds at the right moment
@@ -31,7 +32,9 @@
     burn the image if no capable drives are found, and
     leave all the files previously
     added by the user in composition so he could tweak it
-- welcome tab that cannot be closed
+- welcome tab
+  - that cannot be closed [DONE]
+    - hide close button
 - recode copy disk with libburn
 - update columns resizing by using column enum index
 - disable burn buttons before proper image file is selected [DONE]

Modified: xfburn/trunk/xfburn/Makefile.am
===================================================================
--- xfburn/trunk/xfburn/Makefile.am	2008-04-24 18:06:21 UTC (rev 4672)
+++ xfburn/trunk/xfburn/Makefile.am	2008-04-25 05:04:29 UTC (rev 4673)
@@ -32,6 +32,7 @@
 	xfburn-main-window.h						\
 	xfburn-notebook-tab.h						\
 	xfburn-file-browser.h						\
+	xfburn-welcome-tab.h						\
 	xfburn-data-composition.h					\
 	xfburn-data-disc-usage.h					\
 	xfburn-fs-browser.h						\
@@ -62,6 +63,7 @@
 	xfburn-main-window.c 						\
 	xfburn-notebook-tab.c						\
 	xfburn-file-browser.c						\
+	xfburn-welcome-tab.c    	                             	\
 	xfburn-data-composition.c    	                             	\
 	xfburn-data-disc-usage.c					\
 	xfburn-fs-browser.c 	                                       	\

Modified: xfburn/trunk/xfburn/xfburn-compositions-notebook.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-compositions-notebook.c	2008-04-24 18:06:21 UTC (rev 4672)
+++ xfburn/trunk/xfburn/xfburn-compositions-notebook.c	2008-04-25 05:04:29 UTC (rev 4673)
@@ -29,6 +29,7 @@
 
 #include "xfburn-composition.h"
 #include "xfburn-notebook-tab.h"
+#include "xfburn-welcome-tab.h"
 #include "xfburn-data-composition.h"
 
 #define XFBURN_COMPOSITIONS_NOTEBOOK_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), XFBURN_TYPE_COMPOSITIONS_NOTEBOOK, XfburnCompositionsNotebookPrivate))
@@ -168,6 +169,10 @@
   static guint i = 0;
   
   switch (type) {
+    case XFBURN_WELCOME_TAB:
+      composition = xfburn_welcome_tab_new ();
+      label_text = g_strdup (_("Welcome"));
+      break;
     case XFBURN_DATA_COMPOSITION:
       composition = xfburn_data_composition_new ();
       label_text = g_strdup_printf ("%s %d", _("Data composition"), ++i);
@@ -196,7 +201,8 @@
     gtk_notebook_set_tab_reorderable (GTK_NOTEBOOK (notebook), composition, 1);
 	
     g_object_set_data (G_OBJECT (tab), "composition", composition);
-    g_signal_connect (G_OBJECT (tab), "button-close-clicked", G_CALLBACK (cb_composition_close), notebook);
+    if (type != XFBURN_WELCOME_TAB)
+      g_signal_connect (G_OBJECT (tab), "button-close-clicked", G_CALLBACK (cb_composition_close), notebook);
     
     g_signal_connect (G_OBJECT (composition), "name-changed", G_CALLBACK (cb_composition_name_changed), notebook);
   }

Modified: xfburn/trunk/xfburn/xfburn-compositions-notebook.h
===================================================================
--- xfburn/trunk/xfburn/xfburn-compositions-notebook.h	2008-04-24 18:06:21 UTC (rev 4672)
+++ xfburn/trunk/xfburn/xfburn-compositions-notebook.h	2008-04-25 05:04:29 UTC (rev 4673)
@@ -42,6 +42,7 @@
 
 typedef enum
 {
+  XFBURN_WELCOME_TAB,
   XFBURN_DATA_COMPOSITION,
   XFBURN_AUDIO_COMPOSITION,
 } XfburnCompositionType;

Modified: xfburn/trunk/xfburn/xfburn-hal-manager.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-hal-manager.c	2008-04-24 18:06:21 UTC (rev 4672)
+++ xfburn/trunk/xfburn/xfburn-hal-manager.c	2008-04-25 05:04:29 UTC (rev 4673)
@@ -218,7 +218,7 @@
 {
 
   if (halman == NULL)
-    halman = XFBURN_CREATE_HAL_MANAGER (g_object_new (XFBURN_TYPE_HAL_MANAGER, NULL));
+    halman = XFBURN_HAL_MANAGER (g_object_new (XFBURN_TYPE_HAL_MANAGER, NULL));
 
   return G_OBJECT (halman);
 }

Modified: xfburn/trunk/xfburn/xfburn-hal-manager.h
===================================================================
--- xfburn/trunk/xfburn/xfburn-hal-manager.h	2008-04-24 18:06:21 UTC (rev 4672)
+++ xfburn/trunk/xfburn/xfburn-hal-manager.h	2008-04-25 05:04:29 UTC (rev 4673)
@@ -34,11 +34,11 @@
 G_BEGIN_DECLS
 
 #define XFBURN_TYPE_HAL_MANAGER         (xfburn_hal_manager_get_type ())
-#define XFBURN_CREATE_HAL_MANAGER(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), XFBURN_TYPE_HAL_MANAGER, XfburnHalManager))
-#define XFBURN_CREATE_HAL_MANAGER_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), XFBURN_TYPE_HAL_MANAGER, XfburnHalManagerClass))
-#define XFBURN_IS_CREATE_HAL_MANAGER(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), XFBURN_TYPE_HAL_MANAGER))
-#define XFBURN_IS_CREATE_HAL_MANAGER_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), XFBURN_TYPE_HAL_MANAGER))
-#define XFBURN_CREATE_HAL_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), XFBURN_TYPE_HAL_MANAGER, XfburnHalManagerClass))
+#define XFBURN_HAL_MANAGER(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), XFBURN_TYPE_HAL_MANAGER, XfburnHalManager))
+#define XFBURN_HAL_MANAGER_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), XFBURN_TYPE_HAL_MANAGER, XfburnHalManagerClass))
+#define XFBURN_IS_HAL_MANAGER(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), XFBURN_TYPE_HAL_MANAGER))
+#define XFBURN_IS_HAL_MANAGER_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), XFBURN_TYPE_HAL_MANAGER))
+#define XFBURN_HAL_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), XFBURN_TYPE_HAL_MANAGER, XfburnHalManagerClass))
 
 typedef struct
 {

Modified: xfburn/trunk/xfburn/xfburn-main-window.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-main-window.c	2008-04-24 18:06:21 UTC (rev 4672)
+++ xfburn/trunk/xfburn/xfburn-main-window.c	2008-04-25 05:04:29 UTC (rev 4673)
@@ -314,6 +314,7 @@
   priv->compositions_notebook = xfburn_compositions_notebook_new ();
   gtk_widget_show (priv->compositions_notebook);
   gtk_paned_add2 (GTK_PANED (priv->vpaned), priv->compositions_notebook);
+  xfburn_compositions_notebook_add_composition (XFBURN_COMPOSITIONS_NOTEBOOK (priv->compositions_notebook), XFBURN_WELCOME_TAB);
   
   gtk_paned_set_position (GTK_PANED (priv->vpaned), xfburn_settings_get_int ("vpaned-position", 200));
 

Added: xfburn/trunk/xfburn/xfburn-welcome-tab.c
===================================================================
--- xfburn/trunk/xfburn/xfburn-welcome-tab.c	                        (rev 0)
+++ xfburn/trunk/xfburn/xfburn-welcome-tab.c	2008-04-25 05:04:29 UTC (rev 4673)
@@ -0,0 +1,170 @@
+/* $Id: xfburn-welcome-tab.c 4382 2008-04-24 17:08:37Z dmohr $ */
+/*
+ *  Copyright (c) 2005-2006 Jean-François Wauthy (pollux at xfce.org)
+ *  Copyright (c) 2008      David Mohr (dmohr at mcbf.net)
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef	HAVE_CONFIG_H
+#include <config.h>
+#endif /* !HAVE_CONFIG_H */
+
+#ifdef HAVE_STRING_H
+#include <string.h>
+#endif
+
+#include <libxfce4util/libxfce4util.h>
+
+#include "xfburn-global.h"
+#include "xfburn-composition.h"
+
+#include "xfburn-welcome-tab.h"
+
+/* prototypes */
+static void xfburn_welcome_tab_class_init (XfburnWelcomeTabClass * klass);
+static void xfburn_welcome_tab_init (XfburnWelcomeTab * sp);
+static void xfburn_welcome_tab_finalize (GObject * object);
+static void composition_interface_init (XfburnCompositionInterface *composition, gpointer iface_data);
+
+static void show_custom_controls (XfburnComposition *composition);
+static void hide_custom_controls (XfburnComposition *composition);
+
+#define XFBURN_WELCOME_TAB_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), XFBURN_TYPE_WELCOME_TAB, XfburnWelcomeTabPrivate))
+
+enum {
+  LAST_SIGNAL,
+}; 
+
+typedef struct {
+  gboolean dummy;
+} XfburnWelcomeTabPrivate;
+
+/*********************/
+/* class declaration */
+/*********************/
+static GtkWidget *parent_class = NULL;
+//static guint signals[LAST_SIGNAL];
+
+GtkType
+xfburn_welcome_tab_get_type ()
+{
+  static GtkType type = 0;
+
+  if (type == 0) {
+    static const GTypeInfo our_info = {
+      sizeof (XfburnWelcomeTabClass),
+      NULL,
+      NULL,
+      (GClassInitFunc) xfburn_welcome_tab_class_init,
+      NULL,
+      NULL,
+      sizeof (XfburnWelcomeTab),
+      0,
+      (GInstanceInitFunc) xfburn_welcome_tab_init,
+    };
+
+    static const GInterfaceInfo composition_info = {
+      (GInterfaceInitFunc) composition_interface_init,    /* interface_init */
+      NULL,                                               /* interface_finalize */
+      NULL                                                /* interface_data */
+    };
+    
+    type = g_type_register_static (GTK_TYPE_VBOX, "XfburnWelcomeTab", &our_info, 0);
+
+    g_type_add_interface_static (type, XFBURN_TYPE_COMPOSITION, &composition_info);
+  }
+
+  return type;
+}
+
+static void
+xfburn_welcome_tab_class_init (XfburnWelcomeTabClass * klass)
+{
+  GObjectClass *object_class = G_OBJECT_CLASS (klass);
+  
+  g_type_class_add_private (klass, sizeof (XfburnWelcomeTabPrivate));
+  
+  parent_class = g_type_class_peek_parent (klass);
+
+  object_class->finalize = xfburn_welcome_tab_finalize;
+
+  /*
+  signals[VOLUME_CHANGED] = g_signal_new ("volume-changed", XFBURN_TYPE_WELCOME_TAB, G_SIGNAL_ACTION,
+                                          G_STRUCT_OFFSET (XfburnWelcomeTabClass, volume_changed),
+                                          NULL, NULL, g_cclosure_marshal_VOID__VOID,
+                                          G_TYPE_NONE, 0);
+  */
+}
+
+static void
+composition_interface_init (XfburnCompositionInterface *composition, gpointer iface_data)
+{
+  composition->show_custom_controls = show_custom_controls;
+  composition->hide_custom_controls = hide_custom_controls;
+  composition->load = NULL;
+  composition->save = NULL;
+}
+
+static void
+xfburn_welcome_tab_init (XfburnWelcomeTab * obj)
+{
+  //XfburnWelcomeTabPrivate *priv = XFBURN_WELCOME_TAB_GET_PRIVATE (obj);
+
+  GtkWidget *label_welcome;
+
+  label_welcome = gtk_label_new ("Welcome!");
+
+  gtk_box_pack_start (GTK_BOX (obj), label_welcome, TRUE, TRUE, BORDER);
+
+  gtk_widget_show (label_welcome);
+}
+
+static void
+xfburn_welcome_tab_finalize (GObject * object)
+{
+  //XfburnWelcomeTabPrivate *priv = XFBURN_WELCOME_TAB_GET_PRIVATE (object);
+
+  G_OBJECT_CLASS (parent_class)->finalize (object);
+}
+
+/*           */
+/* internals */
+/*           */
+static void
+show_custom_controls (XfburnComposition *composition)
+{
+  DBG ("show");
+}
+
+static void
+hide_custom_controls (XfburnComposition *composition)
+{
+  DBG ("hide");
+}
+
+/*        */
+/* public */
+/*        */
+
+GtkWidget *
+xfburn_welcome_tab_new ()
+{
+  GtkWidget *obj;
+
+  obj = g_object_new (XFBURN_TYPE_WELCOME_TAB, NULL);
+
+  return obj;
+}

Added: xfburn/trunk/xfburn/xfburn-welcome-tab.h
===================================================================
--- xfburn/trunk/xfburn/xfburn-welcome-tab.h	                        (rev 0)
+++ xfburn/trunk/xfburn/xfburn-welcome-tab.h	2008-04-25 05:04:29 UTC (rev 4673)
@@ -0,0 +1,54 @@
+/* $Id: xfburn-welcome-tab.h 4352 2008-04-24 16:02:53Z dmohr $ */
+/*
+ *  Copyright (c) 2005-2006 Jean-François Wauthy (pollux at xfce.org)
+ *  Copyright (c) 2008      David Mohr (david at mcbf.net)
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, write to the Free Software
+ *  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __XFBURN_WELCOME_TAB_H__
+#define __XFBURN_WELCOME_TAB_H__
+
+#ifdef	HAVE_CONFIG_H
+#include <config.h>
+#endif /* !HAVE_CONFIG_H */
+
+#include <gtk/gtk.h>
+
+G_BEGIN_DECLS
+
+#define XFBURN_TYPE_WELCOME_TAB         (xfburn_welcome_tab_get_type ())
+#define XFBURN_WELCOME_TAB(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), XFBURN_TYPE_WELCOME_TAB, XfburnWelcomeTab))
+#define XFBURN_WELCOME_TAB_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST((k), XFBURN_TYPE_WELCOME_TAB, XfburnWelcomeTabClass))
+#define XFBURN_IS_WELCOME_TAB(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), XFBURN_TYPE_WELCOME_TAB))
+#define XFBURN_IS_WELCOME_TAB_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), XFBURN_TYPE_WELCOME_TAB))
+#define XFBURN_WELCOME_TAB_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), XFBURN_TYPE_WELCOME_TAB, XfburnWelcomeTabClass))
+
+typedef struct
+{
+  GtkVBox parent;
+} XfburnWelcomeTab;
+
+typedef struct
+{
+  GtkVBoxClass parent_class;
+} XfburnWelcomeTabClass;
+
+GtkType xfburn_welcome_tab_get_type ();
+GtkWidget *xfburn_welcome_tab_new ();
+
+G_END_DECLS
+
+#endif /* XFBURN_WELCOME_TAB_H */




More information about the Goodies-commits mailing list