marlin r1299 - trunk/src
- From: iain svn gnome org
- To: svn-commits-list gnome org
- Subject: marlin r1299 - trunk/src
- Date: Wed, 8 Oct 2008 19:16:51 +0000 (UTC)
Author: iain
Date: Wed Oct 8 19:16:50 2008
New Revision: 1299
URL: http://svn.gnome.org/viewvc/marlin?rev=1299&view=rev
Log:
Update for GObject stuff
Namespace MarlinToolbar correctly
Modified:
trunk/src/ChangeLog
trunk/src/marlin-recent-action.c
trunk/src/marlin-toolbar.c
trunk/src/marlin-toolbar.h
trunk/src/marlin-window-menu.c
trunk/src/marlin-window.c
trunk/src/marlin-window.h
Modified: trunk/src/marlin-recent-action.c
==============================================================================
--- trunk/src/marlin-recent-action.c (original)
+++ trunk/src/marlin-recent-action.c Wed Oct 8 19:16:50 2008
@@ -37,9 +37,10 @@
LAST_SIGNAL
};
-/* static GObjectClass *parent_class = NULL; */
static guint signals[LAST_SIGNAL] = {0};
+G_DEFINE_TYPE (MarlinRecentAction, marlin_recent_action, GTK_TYPE_ACTION);
+
static void
more_activated_cb (GtkMenuItem *menu_item,
MarlinRecentAction *mra)
@@ -166,7 +167,7 @@
}
static void
-class_init (MarlinRecentActionClass *klass)
+marlin_recent_action_class_init (MarlinRecentActionClass *klass)
{
GtkActionClass *a_class;
@@ -190,28 +191,8 @@
}
static void
-init (MarlinRecentAction *mra)
-{
-}
-
-GType
-marlin_recent_action_get_type (void)
+marlin_recent_action_init (MarlinRecentAction *mra)
{
- static GType type = 0;
-
- if (type == 0) {
- GTypeInfo info = {
- sizeof (MarlinRecentActionClass), NULL, NULL,
- (GClassInitFunc) class_init, NULL, NULL,
- sizeof (MarlinRecentAction), 0, (GInstanceInitFunc) init
- };
-
- type = g_type_register_static (GTK_TYPE_ACTION,
- "MarlinRecentAction",
- &info, 0);
- }
-
- return type;
}
MarlinRecentAction *
Modified: trunk/src/marlin-toolbar.c
==============================================================================
--- trunk/src/marlin-toolbar.c (original)
+++ trunk/src/marlin-toolbar.c Wed Oct 8 19:16:50 2008
@@ -1,7 +1,7 @@
/*
* Copyright (C) 2000 Marco Pesenti Gritti
* (C) 2001, 2002 Jorn Baayen
- * (C) 2006 Iain Holmes <iain gnome org>
+ * (C) 2006 - 2008 Iain Holmes <iain gnome org>
*
* 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
@@ -33,29 +33,16 @@
#include "marlin-window.h"
#include "main.h"
-static void toolbar_class_init (ToolbarClass *klass);
-static void toolbar_init (Toolbar *t);
-static void toolbar_finalize (GObject *object);
-static void toolbar_set_window (Toolbar *t, MarlinWindow *window);
-static void toolbar_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec);
-static void toolbar_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec);
-
-
enum
{
PROP_0,
PROP_MARLIN_WINDOW
};
-static GObjectClass *parent_class = NULL;
+#define GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), MARLIN_TOOLBAR_TYPE, MarlinToolbarPrivate))
+G_DEFINE_TYPE (MarlinToolbar, marlin_toolbar, EGG_TYPE_EDITABLE_TOOLBAR);
-struct ToolbarPrivate
+struct MarlinToolbarPrivate
{
MarlinWindow *window;
GtkUIManager *ui_merge;
@@ -63,91 +50,61 @@
gboolean visibility;
};
-GType
-toolbar_get_type (void)
+static void
+finalize (GObject *object)
{
- static GType toolbar_type = 0;
-
- if (toolbar_type == 0) {
- static const GTypeInfo our_info = {
- sizeof (ToolbarClass),
- NULL, /* base_init */
- NULL, /* base_finalize */
- (GClassInitFunc) toolbar_class_init,
- NULL,
- NULL, /* class_data */
- sizeof (Toolbar),
- 0, /* n_preallocs */
- (GInstanceInitFunc) toolbar_init
- };
-
- toolbar_type = g_type_register_static (EGG_TYPE_EDITABLE_TOOLBAR,
- "Toolbar",
- &our_info, 0);
- }
-
- return toolbar_type;
-
+ G_OBJECT_CLASS (marlin_toolbar_parent_class)->finalize (object);
}
-#if 0
-static GtkAction *
-toolbar_get_action (EggEditableToolbar *etoolbar,
- const char *type,
- const char *name)
+static void
+action_request_cb (EggEditableToolbar *etoolbar,
+ char *action_name,
+ gpointer data)
{
- Toolbar *t = TOOLBAR (etoolbar);
- GtkAction *action = NULL;
-
- action = EGG_EDITABLE_TOOLBAR_CLASS (parent_class)->get_action (etoolbar, type, name);
-
- return action;
}
-#endif
static void
-toolbar_class_init (ToolbarClass *klass)
+marlin_toolbar_set_window (MarlinToolbar *t,
+ MarlinWindow *window)
{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ EphyToolbarsModel *tb_model = marlin_get_toolbars_model ();
- parent_class = g_type_class_peek_parent (klass);
+ g_return_if_fail (t->priv->window == NULL);
- object_class->finalize = toolbar_finalize;
- object_class->set_property = toolbar_set_property;
- object_class->get_property = toolbar_get_property;
+ t->priv->window = window;
+ t->priv->ui_merge = marlin_window_get_menu_merge (window);
-/* eet_class->get_action = toolbar_get_action; */
+ g_signal_connect (t, "action_request",
+ G_CALLBACK (action_request_cb), NULL);
- g_object_class_install_property (object_class,
- PROP_MARLIN_WINDOW,
- g_param_spec_object ("MarlinWindow",
- "", "",
- MARLIN_WINDOW_TYPE,
- G_PARAM_READWRITE));
+ g_object_set (G_OBJECT (t),
+ "MenuMerge", t->priv->ui_merge,
+ "ToolbarsModel", tb_model,
+ NULL);
}
static void
-toolbar_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
+set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
- Toolbar *t = TOOLBAR (object);
+ MarlinToolbar *t = MARLIN_TOOLBAR (object);
switch (prop_id) {
case PROP_MARLIN_WINDOW:
- toolbar_set_window (t, g_value_get_object (value));
+ marlin_toolbar_set_window (t, g_value_get_object (value));
break;
}
}
static void
-toolbar_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
+get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
{
- Toolbar *t = TOOLBAR (object);
+ MarlinToolbar *t = MARLIN_TOOLBAR (object);
switch (prop_id) {
case PROP_MARLIN_WINDOW:
@@ -156,83 +113,41 @@
}
}
-#if 0
static void
-window_cmd_open (GtkAction *action,
- MarlinWindow *window)
+marlin_toolbar_class_init (MarlinToolbarClass *klass)
{
- marlin_window_open (window);
-}
-#endif
-static void
-action_request_cb (EggEditableToolbar *etoolbar,
- char *action_name,
- gpointer data)
-{
-}
-
-static void
-init_toolbars (Toolbar *t)
-{
- EphyToolbarsModel *tb_model = marlin_get_toolbars_model ();
-
- g_object_set (G_OBJECT (t),
- "ToolbarsModel", tb_model,
- NULL);
-}
-
-static void
-toolbar_set_window (Toolbar *t, MarlinWindow *window)
-{
- g_return_if_fail (t->priv->window == NULL);
-
- t->priv->window = window;
- t->priv->ui_merge = marlin_window_get_menu_merge (window);
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
-#if 0
- toolbar_setup_actions (t);
- gtk_ui_manager_insert_action_group (t->priv->ui_merge,
- t->priv->action_group, 1);
-#endif
- g_signal_connect (t, "action_request",
- G_CALLBACK (action_request_cb), NULL);
-
- g_object_set (t, "MenuMerge", t->priv->ui_merge, NULL);
+ object_class->finalize = finalize;
+ object_class->set_property = set_property;
+ object_class->get_property = get_property;
- init_toolbars (t);
+ g_type_class_add_private (object_class, sizeof (MarlinToolbarPrivate));
+ g_object_class_install_property (object_class,
+ PROP_MARLIN_WINDOW,
+ g_param_spec_object ("MarlinWindow",
+ "", "",
+ MARLIN_WINDOW_TYPE,
+ G_PARAM_READWRITE));
}
static void
-toolbar_init (Toolbar *t)
+marlin_toolbar_init (MarlinToolbar *t)
{
- t->priv = g_new0 (ToolbarPrivate, 1);
+ t->priv = GET_PRIVATE (t);
t->priv->window = NULL;
t->priv->visibility = TRUE;
}
-static void
-toolbar_finalize (GObject *object)
+MarlinToolbar *
+marlin_toolbar_new (MarlinWindow *window)
{
- Toolbar *t;
-
- g_return_if_fail (object != NULL);
- g_return_if_fail (IS_TOOLBAR (object));
+ MarlinToolbar *t;
- t = TOOLBAR (object);
- g_free (t->priv);
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-Toolbar *
-toolbar_new (MarlinWindow *window)
-{
- Toolbar *t;
+ t = MARLIN_TOOLBAR (g_object_new (MARLIN_TOOLBAR_TYPE,
+ "MarlinWindow", window,
+ NULL));
- t = TOOLBAR (g_object_new (TOOLBAR_TYPE,
- "MarlinWindow", window,
- NULL));
-
return t;
}
Modified: trunk/src/marlin-toolbar.h
==============================================================================
--- trunk/src/marlin-toolbar.h (original)
+++ trunk/src/marlin-toolbar.h Wed Oct 8 19:16:50 2008
@@ -16,8 +16,8 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#ifndef TOOLBAR_H
-#define TOOLBAR_H
+#ifndef MARLIN_TOOLBAR_H
+#define MARLIN_TOOLBAR_H
#include <egg-editable-toolbar.h>
@@ -28,31 +28,31 @@
G_BEGIN_DECLS
-typedef struct Toolbar Toolbar;
-typedef struct ToolbarClass ToolbarClass;
+typedef struct MarlinToolbar MarlinToolbar;
+typedef struct MarlinToolbarClass MarlinToolbarClass;
-#define TOOLBAR_TYPE (toolbar_get_type ())
-#define TOOLBAR(obj) (GTK_CHECK_CAST ((obj), TOOLBAR_TYPE, Toolbar))
-#define TOOLBAR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), TOOLBAR, ToolbarClass))
-#define IS_TOOLBAR(obj) (GTK_CHECK_TYPE ((obj), TOOLBAR_TYPE))
-#define IS_TOOLBAR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), TOOLBAR))
+#define MARLIN_TOOLBAR_TYPE (marlin_toolbar_get_type ())
+#define MARLIN_TOOLBAR(obj) (GTK_CHECK_CAST ((obj), MARLIN_TOOLBAR_TYPE, MarlinToolbar))
+#define MARLIN_TOOLBAR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), MARLIN_TOOLBAR, MarlinToolbarClass))
+#define IS_MARLIN_TOOLBAR(obj) (GTK_CHECK_TYPE ((obj), MARLIN_TOOLBAR_TYPE))
+#define IS_MARLIN_TOOLBAR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), MARLIN_TOOLBAR))
-typedef struct ToolbarPrivate ToolbarPrivate;
+typedef struct MarlinToolbarPrivate MarlinToolbarPrivate;
-struct Toolbar
+struct MarlinToolbar
{
EggEditableToolbar parent_object;
- ToolbarPrivate *priv;
+ MarlinToolbarPrivate *priv;
};
-struct ToolbarClass
+struct MarlinToolbarClass
{
EggEditableToolbarClass parent_class;
};
-GType toolbar_get_type (void);
+GType marlin_toolbar_get_type (void);
-Toolbar *toolbar_new (MarlinWindow *window);
+MarlinToolbar *marlin_toolbar_new (MarlinWindow *window);
G_END_DECLS
Modified: trunk/src/marlin-window-menu.c
==============================================================================
--- trunk/src/marlin-window-menu.c (original)
+++ trunk/src/marlin-window-menu.c Wed Oct 8 19:16:50 2008
@@ -595,8 +595,8 @@
}
static void
-toolbar_editor_destroy_cb (GtkWidget *tbe,
- Toolbar *t)
+toolbar_editor_destroy_cb (GtkWidget *tbe,
+ MarlinToolbar *t)
{
egg_editable_toolbar_set_edit_mode (EGG_EDITABLE_TOOLBAR (t), FALSE);
}
@@ -634,7 +634,7 @@
{
GtkWidget *editor, *dialog;
EphyToolbarsModel *model;
- Toolbar *toolbar;
+ MarlinToolbar *toolbar;
GtkUIManager *ui_manager = marlin_window_get_menu_merge (MARLIN_WINDOW (data));;
char *xml;
Modified: trunk/src/marlin-window.c
==============================================================================
--- trunk/src/marlin-window.c (original)
+++ trunk/src/marlin-window.c Wed Oct 8 19:16:50 2008
@@ -124,12 +124,12 @@
GtkWidget *menu_dock;
GtkWidget *menubar;
- Toolbar *toolbar;
+ MarlinToolbar *toolbar;
GList *toolbars;
-
+
MarlinSample *sample;
guint notify_id;
-
+
MarlinSampleSelection *selection;
guint selection_id;
@@ -148,7 +148,7 @@
MarlinMarkerModel *marker_model;
guint marker_added_id, marker_removed_id;
-
+
MarlinDisplay position_display;
GtkWidget *position_status;
@@ -161,7 +161,7 @@
GObject *ui_merge;
MarlinJackPlay *jack;
-
+
MarlinState state;
guint64 initial; /* The initial position of the cursor when play
starts */
@@ -184,7 +184,7 @@
GtkWidget *undo_history_dialog;
GtkWidget *edit_marker_dialog;
GtkWidget *add_marker_dialog;
-
+
time_t last_save; /* Time of the last save, in seconds */
GtkWidget *meters_event; /* Event box that holds the meters */
@@ -221,8 +221,12 @@
void marlin_window_set_edit_name (MarlinWindow *window);
void marlin_window_pause_sample (MarlinWindow *window);
-static GtkWindowClass *parent_class = NULL;
+static void base_window_init (MarlinBaseWindowClass *iface);
+#define GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE ((obj), MARLIN_WINDOW_TYPE, MarlinWindowPrivate))
+G_DEFINE_TYPE_EXTENDED (MarlinWindow, marlin_window, GTK_TYPE_WINDOW, 0,
+ G_IMPLEMENT_INTERFACE (MARLIN_BASE_WINDOW_TYPE,
+ base_window_init));
static GdkPixbuf *window_icon = NULL;
#define DEFAULT_WIDTH 770
@@ -237,10 +241,6 @@
window = MARLIN_WINDOW (object);
priv = window->priv;
- if (priv == NULL) {
- return;
- }
-
if (priv->select_region_dialog != NULL) {
gtk_widget_destroy (priv->select_region_dialog);
}
@@ -252,7 +252,7 @@
if (priv->properties_dialog != NULL) {
gtk_widget_destroy (priv->properties_dialog);
}
-
+
if (priv->undo_history_dialog != NULL) {
gtk_widget_destroy (priv->undo_history_dialog);
}
@@ -260,15 +260,12 @@
if (priv->xfade_dialog != NULL) {
gtk_widget_destroy (priv->xfade_dialog);
}
-
+
if (priv->adjust_channels_dialog != NULL) {
gtk_widget_destroy (priv->adjust_channels_dialog);
}
- g_free (priv);
- window->priv = NULL;
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
+ G_OBJECT_CLASS (marlin_window_parent_class)->finalize (object);
}
static void
@@ -302,14 +299,6 @@
priv->marker_model = NULL;
}
-#if 0
- if (priv->play_pipeline != NULL) {
- gst_element_set_state (GST_ELEMENT (priv->play_pipeline),
- GST_STATE_NULL);
- g_object_unref (G_OBJECT (priv->play_pipeline));
- priv->play_pipeline = NULL;
- }
-#endif
if (priv->jack != NULL) {
g_object_unref (priv->jack);
priv->jack = NULL;
@@ -329,9 +318,9 @@
window->priv->clip_id = 0;
}
- G_OBJECT_CLASS (parent_class)->dispose (object);
+ G_OBJECT_CLASS (marlin_window_parent_class)->dispose (object);
}
-
+
static void
marlin_window_sample_notify (MarlinSample *sample,
GParamSpec *pspec,
@@ -635,25 +624,23 @@
}
static void
-class_init (MarlinWindowClass *klass)
+marlin_window_class_init (MarlinWindowClass *klass)
{
GObjectClass *object_class;
object_class = G_OBJECT_CLASS (klass);
-
+
object_class->finalize = finalize;
object_class->dispose = dispose;
object_class->set_property = set_property;
object_class->get_property = get_property;
+ g_type_class_add_private (object_class, sizeof (MarlinWindowPrivate));
g_object_class_install_property (object_class,
PROP_SAMPLE,
g_param_spec_object ("sample", "", "",
MARLIN_SAMPLE_TYPE,
G_PARAM_READWRITE));
-
-
- parent_class = g_type_class_peek_parent (klass);
}
static void
@@ -672,8 +659,7 @@
gtk_box_pack_start (GTK_BOX (window->priv->menu_dock), widget,
FALSE, FALSE, 0);
- gtk_widget_show (widget);
-
+ gtk_widget_show (widget);
}
static void
@@ -686,11 +672,11 @@
action = g_object_get_data (G_OBJECT (proxy), "gtk-action");
g_return_if_fail (action != NULL);
- g_object_get (G_OBJECT (action),
- "tooltip", &message,
+ g_object_get (G_OBJECT (action),
+ "tooltip", &message,
NULL);
if (message && window->priv->message_status) {
- gtk_statusbar_push (GTK_STATUSBAR (window->priv->message_status),
+ gtk_statusbar_push (GTK_STATUSBAR (window->priv->message_status),
window->priv->help_message_cid, message);
g_free (message);
}
@@ -733,23 +719,23 @@
}
static void
-init (MarlinWindow *window)
+marlin_window_init (MarlinWindow *window)
{
MarlinWindowPrivate *priv;
GtkUIManager *merge;
GConfClient *client;
GList *plugins;
char *xml;
-
- window->priv = g_new0 (MarlinWindowPrivate, 1);
+
+ window->priv = GET_PRIVATE (window);
priv = window->priv;
priv->toolbars = NULL;
-
+
priv->undo = marlin_undo_manager_new ();
priv->undo_changed_id = g_signal_connect (G_OBJECT (priv->undo),
"changed",
- G_CALLBACK (undo_changed),
+ G_CALLBACK (undo_changed),
window);
priv->main_vbox = gtk_vbox_new (FALSE, 0);
@@ -760,12 +746,12 @@
gtk_widget_show (priv->menu_dock);
gtk_box_pack_start (GTK_BOX (priv->main_vbox), priv->menu_dock,
FALSE, TRUE, 0);
-
+
client = gconf_client_get_default ();
- priv->position_display = gconf_client_get_int (client,
+ priv->position_display = gconf_client_get_int (client,
"/apps/marlin/system-state/position-display",
NULL);
- priv->show_vu = gconf_client_get_bool (client,
+ priv->show_vu = gconf_client_get_bool (client,
"/apps/marlin/show-equalizers",
NULL);
g_object_unref (G_OBJECT (client));
@@ -789,7 +775,7 @@
priv->popup_action = gtk_action_group_new ("PopupsActions");
marlin_window_menu_popup_setup (window);
gtk_ui_manager_insert_action_group (merge, priv->popup_action, 0);
-
+
priv->ui_merge = G_OBJECT (merge);
g_signal_connect (G_OBJECT (merge), "add_widget",
G_CALLBACK (add_widget), window);
@@ -797,7 +783,7 @@
if (xml == NULL) {
g_error ("Marlin not installed correctly");
}
-
+
gtk_ui_manager_add_ui_from_file (merge, xml, NULL);
g_free (xml);
@@ -816,12 +802,12 @@
/* Window holds ref */
g_object_unref (priv->accel_group);
-
- priv->toolbar = toolbar_new (window);
+
+ priv->toolbar = marlin_toolbar_new (window);
gtk_widget_show (GTK_WIDGET (priv->toolbar));
gtk_box_pack_end (GTK_BOX (priv->menu_dock), GTK_WIDGET (priv->toolbar),
FALSE, FALSE, 0);
-
+
priv->last_save = time (NULL);
}
@@ -881,34 +867,6 @@
iface->get_undo_manager = get_undo_manager;
}
-GType
-marlin_window_get_type (void)
-{
- static GType type = 0;
-
- if (type == 0) {
- GTypeInfo info = {
- sizeof (MarlinWindowClass), NULL, NULL,
- (GClassInitFunc) class_init, NULL, NULL,
- sizeof (MarlinWindow), 0, (GInstanceInitFunc) init
- };
-
- static const GInterfaceInfo base_info = {
- (GInterfaceInitFunc) base_window_init,
- NULL, NULL
- };
-
- type = g_type_register_static (GTK_TYPE_WINDOW,
- "MarlinWindow",
- &info, 0);
- g_type_add_interface_static (type, MARLIN_BASE_WINDOW_TYPE,
- &base_info);
-
- }
-
- return type;
-}
-
static void
statusbar_set_frames (GtkWidget *statusbar,
MarlinWindow *window,
@@ -4387,7 +4345,7 @@
return GTK_UI_MANAGER (window->priv->ui_merge);
}
-Toolbar *
+MarlinToolbar *
marlin_window_get_toolbar (MarlinWindow *window)
{
return window->priv->toolbar;
@@ -4404,10 +4362,10 @@
{
guint fpp;
guint64 position;
-
+
g_return_if_fail (IS_MARLIN_WINDOW (window));
g_return_if_fail (window->priv->selection != NULL);
-
+
if (window->priv->select_region_dialog != NULL) {
gdk_window_show (window->priv->select_region_dialog->window);
return;
Modified: trunk/src/marlin-window.h
==============================================================================
--- trunk/src/marlin-window.h (original)
+++ trunk/src/marlin-window.h Wed Oct 8 19:16:50 2008
@@ -89,7 +89,7 @@
GtkActionGroup *marlin_window_get_popup_action_group (MarlinWindow *window);
GtkUIManager *marlin_window_get_menu_merge (MarlinWindow *window);
-Toolbar *marlin_window_get_toolbar (MarlinWindow *window);
+MarlinToolbar *marlin_window_get_toolbar (MarlinWindow *window);
MarlinSampleView *marlin_window_get_view (MarlinWindow *window);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]