~and471/+junk/symphony-legacy

« back to all changes in this revision

Viewing changes to src/frontend/widgets/views/albums.c

  • Committer: rugby471 at gmail
  • Date: 2011-02-16 18:23:33 UTC
  • Revision ID: rugby471@gmail.com-20110216182333-9rmm0613221owoxx
more good stuff :)

Show diffs side-by-side

added added

removed removed

Lines of Context:
13
13
#include <glib-object.h>
14
14
#include <gtk/gtk.h>
15
15
#include <pango/pango.h>
 
16
#include <gdk/gdk.h>
16
17
 
17
18
 
18
19
#define TYPE_ALBUM_VIEW (album_view_get_type ())
78
79
AlbumView* album_view_new (AlbumStore* store);
79
80
AlbumView* album_view_construct (GType object_type, AlbumStore* store);
80
81
GType album_store_col_get_type (void) G_GNUC_CONST;
 
82
static gboolean album_view_on_button_press_event (AlbumView* self, GdkEventButton* event);
 
83
static gboolean _album_view_on_button_press_event_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self);
81
84
GType album_get_type (void) G_GNUC_CONST;
82
85
Album* album_view_get_selected_album (AlbumView* self);
83
86
static void _gtk_tree_path_free0_ (gpointer var);
89
92
}
90
93
 
91
94
 
 
95
static gboolean _album_view_on_button_press_event_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) {
 
96
        gboolean result;
 
97
        result = album_view_on_button_press_event (self, event);
 
98
        return result;
 
99
}
 
100
 
 
101
 
92
102
AlbumView* album_view_construct (GType object_type, AlbumStore* store) {
93
103
        AlbumView * self = NULL;
94
104
        GList* _tmp0_ = NULL;
111
121
        cellrenderer_text = _tmp3_;
112
122
        g_object_set (cellrenderer_text, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
113
123
        g_object_set (cellrenderer_text, "ellipsize-set", TRUE, NULL);
 
124
        g_signal_connect_object ((GtkWidget*) self, "button-press-event", (GCallback) _album_view_on_button_press_event_gtk_widget_button_press_event, self, 0);
114
125
        _g_object_unref0 (cellrenderer_text);
115
126
        _g_list_free0 (cellrenderers);
116
127
        return self;
180
191
}
181
192
 
182
193
 
 
194
static gboolean album_view_on_button_press_event (AlbumView* self, GdkEventButton* event) {
 
195
        gboolean result = FALSE;
 
196
        g_return_val_if_fail (self != NULL, FALSE);
 
197
        if ((*event).button == 3) {
 
198
                GtkTreePath* _tmp0_ = NULL;
 
199
                GtkTreePath* _tmp1_;
 
200
                GtkTreePath* path;
 
201
                _tmp0_ = gtk_icon_view_get_path_at_pos ((GtkIconView*) self, (gint) (*event).x, (gint) (*event).y);
 
202
                _tmp1_ = _gtk_tree_path_copy0 (_tmp0_);
 
203
                path = _tmp1_;
 
204
                if (path != NULL) {
 
205
                        gtk_icon_view_select_path ((GtkIconView*) self, path);
 
206
                        g_signal_emit_by_name (self, "right-clicked", event);
 
207
                }
 
208
                _gtk_tree_path_free0 (path);
 
209
        }
 
210
        result = FALSE;
 
211
        return result;
 
212
}
 
213
 
 
214
 
183
215
static void album_view_class_init (AlbumViewClass * klass) {
184
216
        album_view_parent_class = g_type_class_peek_parent (klass);
 
217
        g_signal_new ("right_clicked", TYPE_ALBUM_VIEW, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, G_TYPE_POINTER);
185
218
}
186
219
 
187
220