[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