commit 23b4cf0766a2969742c9cca651b3409f8126144e
Author: Maia Kozheva <[email protected]>
Date: Sat Aug 28 19:33:55 2010 +0700
Make gtkpod build with -DGSEAL_ENABLE
configure.in | 9 +++
libgtkpod/misc.c | 4 +-
libgtkpod/tools.c | 11 ++--
plugins/cover_display/display_coverart.c | 38 +++++++-----
plugins/details_editor/details.c | 14 +++-
plugins/exporter/file_export.c | 4 +-
plugins/photo_editor/display_photo.c | 16 +++---
plugins/playlist_display/display_playlists.c | 73 +++++++++++++----------
plugins/sorttab_display/display_sorttabs.c | 18 ++++--
plugins/track_display/display_tracks.c | 58 ++++++++++++------
plugins/track_display/rb_cell_renderer_rating.c | 16 ++++--
plugins/track_display/rb_rating_helper.c | 4 +-
plugins/track_display/sort_window.c | 2 +-
src/anjuta-app.c | 16 +++---
14 files changed, 172 insertions(+), 111 deletions(-)
---
diff --git a/configure.in b/configure.in
index cfd4131..501d181 100644
--- a/configure.in
+++ b/configure.in
@@ -81,8 +81,17 @@ PKG_CHECK_MODULES(LIBANJUTA, libanjuta-1.0 >= 2.30.0,,
[AC_MSG_FAILURE([*** $LIB
PKG_CHECK_MODULES(LIBGDL, gdl-1.0 >= 2.26.0,, [AC_MSG_FAILURE([***
$LIBGDL_PKG_ERRORS])])
PKG_CHECK_MODULES(GIO, gio-2.0 >= 2.15.0,, [AC_MSG_FAILURE([***
$GIO_PKG_ERRORS])])
+dnl Check if GDK has GSEAL for GdkDragContext
+PKG_CHECK_MODULES(GSEALED_GDK, gdk-2.0 >= 2.21.0, have_gsealed_gdk=yes,
have_gsealed_gdk=no)
+
+AM_CONDITIONAL(HAVE_GSEALED_GDK, test "x$have_gsealed_gdk" = "xyes")
+if test "x$have_gsealed_gdk" = "xyes"; then
+ AC_DEFINE(HAVE_GSEALED_GDK, 1, [Define if GDK has GSEAL])
+fi
+
dnl Preparing for GTK3 transition
GTK_CLEANLINESS_FLAGS="-DG_DISABLE_SINGLE_INCLUDES
-DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES"
+GTK_CLEANLINESS_FLAGS="$GTK_CLEANLINESS_FLAGS -DGSEAL_ENABLE"
CFLAGS="$CFLAGS $GTK_CFLAGS $GLIB_CFLAGS $GMODULE_CFLAGS $GTHREAD_CFLAGS
$LIBGLADE_CFLAGS $LIBGPOD_CFLAGS $LIBANJUTA_CFLAGS $LIBGDL_CFLAGS
$GTK_CLEANLINESS_FLAGS"
LIBS="$LIBS $GTK_LIBS $GLIB_LIBS $GMODULE_LIBS $GTHREAD_LIBS $LIBGLADE_LIBS
$LIBGPOD_LIBS $LIBANJUTA_LIBS $LIBGDL_LIBS"
diff --git a/libgtkpod/misc.c b/libgtkpod/misc.c
index 306b94a..75dde49 100644
--- a/libgtkpod/misc.c
+++ b/libgtkpod/misc.c
@@ -11,7 +11,7 @@
| 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,
+ffla | 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 General Public License for more details.
@@ -106,7 +106,7 @@ static void block_release_widgets(gint action, GtkWidget
*w, gboolean sens) {
for (l = blocked_widgets; l; l = l->next) {
bw = (struct blocked_widget *) l->data;
/* remember the state the widget was in before */
- bw->sensitive = GTK_WIDGET_SENSITIVE (bw->widget);
+ bw->sensitive = gtk_widget_get_sensitive (bw->widget);
gtk_widget_set_sensitive(bw->widget, FALSE);
}
widgets_blocked = TRUE;
diff --git a/libgtkpod/tools.c b/libgtkpod/tools.c
index 75a986c..aca4276 100644
--- a/libgtkpod/tools.c
+++ b/libgtkpod/tools.c
@@ -342,6 +342,7 @@ void nm_tracks_list (GList *list)
static gboolean abort;
GtkWidget *dialog, *progress_bar, *label, *track_label;
GtkWidget *image, *hbox;
+ GtkWidget *content_area;
time_t diff, start, fullsecs, hrs, mins, secs;
gchar *progtext = NULL;
@@ -395,12 +396,10 @@ void nm_tracks_list (GList *list)
&abort);
/* Add the image/label + progress bar to dialog */
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox),
- hbox, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox),
- track_label, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox),
- progress_bar, FALSE, FALSE, 0);
+ content_area = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
+ gtk_box_pack_start (GTK_BOX (content_area), hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (content_area), track_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (content_area), progress_bar, FALSE, FALSE, 0);
gtk_widget_show_all (dialog);
while (widgets_blocked && gtk_events_pending ()) gtk_main_iteration ();
diff --git a/plugins/cover_display/display_coverart.c
b/plugins/cover_display/display_coverart.c
index 51e0711..6847997 100644
--- a/plugins/cover_display/display_coverart.c
+++ b/plugins/cover_display/display_coverart.c
@@ -43,6 +43,12 @@
#include "fetchcover.h"
#include "cover_display_context_menu.h"
+#ifndef HAVE_GSEALED_GDK
+/* Compatibility macros for previous GDK versions */
+#define gdk_drag_context_get_selected_action(x) ((x)->action)
+#define gdk_drag_context_get_suggested_action(x) ((x)->suggested_action)
+#endif
+
#define DEBUG 0
/* Declarations */
@@ -147,7 +153,7 @@ static gboolean coverart_window_valid() {
if (!cdwidget->draw_area)
return FALSE;
- if (!cdwidget->draw_area->window)
+ if (!gtk_widget_get_window(GTK_WIDGET(cdwidget->draw_area)))
return FALSE;
return TRUE;
@@ -278,14 +284,14 @@ static void set_display_window_dimensions() {
*
*/
void coverart_block_change(gboolean val) {
- if (GTK_WIDGET_REALIZED(gtkpod_app)) {
+ if (gtk_widget_get_realized(GTK_WIDGET(gtkpod_app))) {
if (val) {
GdkCursor *cursor = gdk_cursor_new(GDK_WATCH);
- gdk_window_set_cursor(GTK_WIDGET(gtkpod_app)->window, cursor);
+
gdk_window_set_cursor(gtk_widget_get_window(GTK_WIDGET(gtkpod_app)), cursor);
gdk_cursor_unref(cursor);
}
else
- gdk_window_set_cursor(GTK_WIDGET(gtkpod_app)->window, NULL);
+
gdk_window_set_cursor(gtk_widget_get_window(GTK_WIDGET(gtkpod_app)), NULL);
}
if (cdwidget != NULL)
@@ -339,13 +345,13 @@ static void draw_string(cairo_t *cairo_context, const
gchar *text, gdouble x, gd
static void redraw(gboolean force_pixbuf_update) {
g_return_if_fail(cdwidget);
g_return_if_fail(cdwidget->draw_area);
- g_return_if_fail(cdwidget->draw_area->window);
+ g_return_if_fail(gtk_widget_get_window(GTK_WIDGET(cdwidget->draw_area)));
force_pixbuf_covers = force_pixbuf_update;
- GdkRegion *region =
gdk_drawable_get_clip_region(cdwidget->draw_area->window);
+ GdkRegion *region =
gdk_drawable_get_clip_region(gtk_widget_get_window(GTK_WIDGET(cdwidget->draw_area)));
/* redraw the cairo canvas completely by exposing it */
- gdk_window_invalidate_region(cdwidget->draw_area->window, region, TRUE);
- gdk_window_process_updates(cdwidget->draw_area->window, TRUE);
+
gdk_window_invalidate_region(gtk_widget_get_window(GTK_WIDGET(cdwidget->draw_area)),
region, TRUE);
+
gdk_window_process_updates(gtk_widget_get_window(GTK_WIDGET(cdwidget->draw_area)),
TRUE);
gdk_region_destroy(region);
if (g_list_length(album_key_list) <= 1) {
@@ -622,7 +628,7 @@ static void set_cover_dimensions(Cover_Item *cover, int
cover_index, gdouble img
gint PANEL_WIDTH = 0, PANEL_HEIGHT = 0;
gint CONTBOX_WIDTH = 0, CONTBOX_HEIGHT = 0;
- gdk_drawable_get_size(GDK_DRAWABLE(cdwidget->canvasbox->window),
&PANEL_WIDTH, &PANEL_HEIGHT);
+
gdk_drawable_get_size(GDK_DRAWABLE(gtk_widget_get_window(cdwidget->canvasbox)),
&PANEL_WIDTH, &PANEL_HEIGHT);
gtk_widget_get_size_request(cdwidget->controlbox, &CONTBOX_WIDTH,
&CONTBOX_HEIGHT);
// If panel width not been rendered default to minimum
@@ -1013,13 +1019,13 @@ void coverart_track_changed(Track *track, gint signal) {
* boolean indicating whether other handlers should be run.
*/
static gboolean on_drawing_area_exposed(GtkWidget *draw_area, GdkEventExpose
*event) {
- if (!draw_area || !draw_area->window)
+ if (!draw_area || !gtk_widget_get_window(draw_area))
return FALSE;
cairo_t *cairo_draw_context;
/* get a cairo_t */
- cairo_draw_context = gdk_cairo_create(draw_area->window);
+ cairo_draw_context = gdk_cairo_create(gtk_widget_get_window(draw_area));
/* set a clip region for the expose event */
cairo_rectangle(cairo_draw_context, event->area.x, event->area.y,
event->area.width, event->area.height);
@@ -1475,7 +1481,7 @@ static gboolean
on_coverart_preview_dialog_exposed(GtkWidget *drawarea, GdkEvent
cairo_t *cairo_context;
/* get a cairo_t */
- cairo_context = gdk_cairo_create(drawarea->window);
+ cairo_context = gdk_cairo_create(gtk_widget_get_window(drawarea));
/* set a clip region for the expose event */
cairo_rectangle(cairo_context, event->area.x, event->area.y,
event->area.width, event->area.height);
cairo_clip(cairo_context);
@@ -1914,7 +1920,7 @@ static gboolean dnd_coverart_drag_motion(GtkWidget
*widget, GdkDragContext *dc,
return FALSE;
}
- gdk_drag_status(dc, dc->suggested_action, time);
+ gdk_drag_status(dc, gdk_drag_context_get_suggested_action(dc), time);
return TRUE;
}
@@ -1931,8 +1937,8 @@ static void dnd_coverart_drag_data_received(GtkWidget
*widget, GdkDragContext *d
g_return_if_fail (widget);
g_return_if_fail (dc);
g_return_if_fail (data);
- g_return_if_fail (data->data);
- g_return_if_fail (data->length > 0);
+ g_return_if_fail (gtk_selection_data_get_data(data));
+ g_return_if_fail (gtk_selection_data_get_length(data) > 0);
/* mozilla bug 402394 */
@@ -2139,7 +2145,7 @@ void coverart_display_track_updated_cb(GtkPodApp *app,
gpointer tk, gpointer dat
void coverart_display_track_added_cb(GtkPodApp *app, gpointer tk, gpointer
data) {
Track *track = tk;
- if (!cdwidget || !cdwidget->draw_area || !cdwidget->draw_area->window)
+ if (!cdwidget || !cdwidget->draw_area ||
!gtk_widget_get_window(GTK_WIDGET(cdwidget->draw_area)))
return;
coverart_track_changed(track, COVERART_CREATE_SIGNAL);
diff --git a/plugins/details_editor/details.c b/plugins/details_editor/details.c
index b57d11c..4fd8572 100644
--- a/plugins/details_editor/details.c
+++ b/plugins/details_editor/details.c
@@ -43,6 +43,12 @@
#include "details.h"
#include "fetchcover.h"
+#ifndef HAVE_GSEALED_GDK
+/* Compatibility macros for previous GDK versions */
+#define gdk_drag_context_get_selected_action(x) ((x)->action)
+#define gdk_drag_context_get_suggested_action(x) ((x)->suggested_action)
+#endif
+
/* string constants for preferences */
const gchar *DETAILS_WINDOW_NOTEBOOK_PAGE = "details_window_notebook_page";
@@ -1527,7 +1533,7 @@ void details_edit(GList *selected_tracks) {
if (!details_view || !details_view->window) {
create_details_editor_view();
}
- else if (! GTK_WIDGET_REALIZED(details_view->window)) {
+ else if (! gtk_widget_get_realized(details_view->window)) {
gtkpod_display_widget(details_view->window);
}
details_set_tracks(selected_tracks);
@@ -1580,7 +1586,7 @@ static gboolean dnd_details_art_drag_motion(GtkWidget
*widget, GdkDragContext *d
return FALSE;
}
- gdk_drag_status(dc, dc->suggested_action, time);
+ gdk_drag_status(dc, gdk_drag_context_get_suggested_action(dc), time);
return TRUE;
}
@@ -1589,8 +1595,8 @@ static void dnd_details_art_drag_data_received(GtkWidget
*widget, GdkDragContext
g_return_if_fail (widget);
g_return_if_fail (dc);
g_return_if_fail (data);
- g_return_if_fail (data->data);
- g_return_if_fail (data->length > 0);
+ g_return_if_fail (gtk_selection_data_get_data(data));
+ g_return_if_fail (gtk_selection_data_get_length(data) > 0);
#if DEBUG
printf ("data length = %d\n", data->length);
diff --git a/plugins/exporter/file_export.c b/plugins/exporter/file_export.c
index c29692e..a2ccc2f 100644
--- a/plugins/exporter/file_export.c
+++ b/plugins/exporter/file_export.c
@@ -392,8 +392,8 @@ static void export_files_write(struct fcd *fcd) {
&abort);
/* Add the image/label + progress bar to dialog */
- gtk_box_pack_start(GTK_BOX (GTK_DIALOG (dialog)->vbox), hbox, FALSE,
FALSE, 0);
- gtk_box_pack_start(GTK_BOX (GTK_DIALOG (dialog)->vbox), progress_bar,
FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG
(dialog))), hbox, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX (gtk_dialog_get_content_area (GTK_DIALOG
(dialog))), progress_bar, FALSE, FALSE, 0);
gtk_widget_show_all(dialog);
while (widgets_blocked && gtk_events_pending())
diff --git a/plugins/photo_editor/display_photo.c
b/plugins/photo_editor/display_photo.c
index 7aca5ba..8a30908 100644
--- a/plugins/photo_editor/display_photo.c
+++ b/plugins/photo_editor/display_photo.c
@@ -297,7 +297,7 @@ static void gphoto_create_albumview() {
/* create tree view */
photo_editor->album_view = GTK_TREE_VIEW (gtk_tree_view_new ());
- if (!GTK_WIDGET_REALIZED(photo_editor->album_view))
+ if (!gtk_widget_get_realized(GTK_WIDGET(photo_editor->album_view)))
gtk_widget_set_events(GTK_WIDGET(photo_editor->album_view),
GDK_KEY_PRESS_MASK);
renderer = gtk_cell_renderer_text_new();
@@ -357,7 +357,7 @@ static void gphoto_create_thumbnailview() {
if (photo_editor->thumbnail_view == NULL)
photo_editor->thumbnail_view = GTK_ICON_VIEW (gtk_icon_view_new ());
- if (!GTK_WIDGET_REALIZED(photo_editor->thumbnail_view))
+ if (!gtk_widget_get_realized(GTK_WIDGET (photo_editor->thumbnail_view)))
gtk_widget_set_events(GTK_WIDGET(photo_editor->thumbnail_view),
GDK_KEY_PRESS_MASK);
gtk_container_add(GTK_CONTAINER (photo_editor->photo_thumb_window),
GTK_WIDGET(photo_editor->thumbnail_view));
@@ -900,7 +900,7 @@ static gboolean on_gphoto_preview_dialog_exposed(GtkWidget
*drawarea, GdkEventEx
cairo_t *cairo_context;
/* get a cairo_t */
- cairo_context = gdk_cairo_create(drawarea->window);
+ cairo_context = gdk_cairo_create(gtk_widget_get_window(drawarea));
/* set a clip region for the expose event */
cairo_rectangle(cairo_context, event->area.x, event->area.y,
event->area.width, event->area.height);
cairo_clip(cairo_context);
@@ -1349,7 +1349,7 @@ static void dnd_images_drag_data_get(GtkWidget *widget,
GdkDragContext *dc, GtkS
switch (info) {
case DND_GTKPOD_PHOTOIMAGELIST:
- gtk_selection_data_set(data, data->target, 8, reply->str, reply->len);
+ gtk_selection_data_set(data, gtk_selection_data_get_target(data), 8,
reply->str, reply->len);
g_string_free(reply, TRUE);
break;
default:
@@ -1370,9 +1370,9 @@ static void dnd_album_drag_data_received(GtkWidget
*widget, GdkDragContext *dc,
g_return_if_fail (widget);
g_return_if_fail (dc);
g_return_if_fail (data);
- g_return_if_fail (data->length > 0);
- g_return_if_fail (data->data);
- g_return_if_fail (data->format == 8);
+ g_return_if_fail (gtk_selection_data_get_length(data) > 0);
+ g_return_if_fail (gtk_selection_data_get_data(data));
+ g_return_if_fail (gtk_selection_data_get_format(data) == 8);
gboolean rowfound;
GtkTreePath *treepath;
@@ -1428,7 +1428,7 @@ static void dnd_album_drag_data_received(GtkWidget
*widget, GdkDragContext *dc,
Artwork *artwork;
GList *artwork_list = NULL;
- gchar *datap = data->data;
+ gchar *datap = (gchar *) gtk_selection_data_get_data(data);
gint i = 0;
/* parse artwork and add each one to a GList */
diff --git a/plugins/playlist_display/display_playlists.c
b/plugins/playlist_display/display_playlists.c
index 30de8bd..7552212 100644
--- a/plugins/playlist_display/display_playlists.c
+++ b/plugins/playlist_display/display_playlists.c
@@ -48,6 +48,12 @@
#include "libgtkpod/gtkpod_app_iface.h"
#include "libgtkpod/prefs.h"
+#ifndef HAVE_GSEALED_GDK
+/* Compatibility macros for previous GDK versions */
+#define gdk_drag_context_get_selected_action(x) ((x)->action)
+#define gdk_drag_context_get_suggested_action(x) ((x)->suggested_action)
+#endif
+
/* pointer to the treeview for the playlist display */
static GtkTreeView *playlist_treeview = NULL;
/* flag set if selection changes to be ignored temporarily */
@@ -111,7 +117,7 @@ static void pm_drag_data_delete(GtkWidget *widget,
GdkDragContext *drag_context,
/* printf ("drag_data_delete: %d\n", drag_context->action); */
- if (drag_context->action == GDK_ACTION_MOVE) {
+ if (gdk_drag_context_get_selected_action(drag_context) == GDK_ACTION_MOVE)
{
GtkTreeSelection *ts = gtk_tree_view_get_selection(GTK_TREE_VIEW
(widget));
gtk_tree_selection_selected_foreach(ts,
pm_drag_data_delete_remove_playlist, NULL);
}
@@ -241,7 +247,7 @@ static gboolean pm_drag_motion(GtkWidget *widget,
GdkDragContext *dc, gint x, gi
return TRUE;
case DND_TEXT_PLAIN:
case DND_TEXT_URI_LIST:
- gdk_drag_status(dc, dc->suggested_action, time);
+ gdk_drag_status(dc, gdk_drag_context_get_suggested_action(dc),
time);
gtk_tree_path_free(path);
return TRUE;
default:
@@ -368,7 +374,7 @@ static void pm_drag_data_get(GtkWidget *widget,
GdkDragContext *dc, GtkSelection
break;
}
}
- gtk_selection_data_set(data, data->target, 8, reply->str, reply->len);
+ gtk_selection_data_set(data, gtk_selection_data_get_target(data), 8,
reply->str, reply->len);
g_string_free(reply, TRUE);
}
@@ -463,7 +469,7 @@ static GdkDragAction pm_tm_get_action(Track *src, Playlist
*dest, GtkTreeViewDro
}
}
/* otherwise: do as suggested */
- return dc->suggested_action;
+ return gdk_drag_context_get_suggested_action(dc);
}
/* Print a message about the number of tracks copied (the number of
@@ -505,9 +511,9 @@ static void pm_drag_data_received(GtkWidget *widget,
GdkDragContext *dc, gint x,
g_return_if_fail (widget);
g_return_if_fail (dc);
g_return_if_fail (data);
- g_return_if_fail (data->length > 0);
- g_return_if_fail (data->data);
- g_return_if_fail (data->format == 8);
+ g_return_if_fail (gtk_selection_data_get_length(data) > 0);
+ g_return_if_fail (gtk_selection_data_get_data(data));
+ g_return_if_fail (gtk_selection_data_get_format(data) == 8);
/* puts(gtk_tree_path_to_string (path)); */
@@ -533,7 +539,7 @@ static void pm_drag_data_received(GtkWidget *widget,
GdkDragContext *dc, gint x,
switch (info) {
case DND_GTKPOD_TRACKLIST:
/* get first track and check itdb */
- sscanf(data->data, "%p", &tr_s);
+ sscanf(gtk_selection_data_get_data(data), "%p", &tr_s);
if (!tr_s) {
gdk_drag_status(dc, 0, time);
g_return_if_reached ();
@@ -545,7 +551,7 @@ static void pm_drag_data_received(GtkWidget *widget,
GdkDragContext *dc, gint x,
return;
case DND_GTKPOD_PLAYLISTLIST:
/* get first playlist and check itdb */
- sscanf(data->data, "%p", &pl_s);
+ sscanf(gtk_selection_data_get_data(data), "%p", &pl_s);
if (!pl_s) {
gdk_drag_status(dc, 0, time);
g_return_if_reached ();
@@ -588,28 +594,28 @@ static void pm_drag_data_received(GtkWidget *widget,
GdkDragContext *dc, gint x,
switch (info) {
case DND_GTKPOD_TRACKLIST:
/* get first track */
- sscanf(data->data, "%p", &tr_s);
+ sscanf(gtk_selection_data_get_data(data), "%p", &tr_s);
if (!tr_s) {
gtk_drag_finish(dc, FALSE, FALSE, time);
g_return_if_reached ();
}
/* Find out action */
- dc->action = pm_tm_get_action(tr_s, pl, pos, dc);
+ gdk_drag_status(dc, pm_tm_get_action(tr_s, pl, pos, dc), time);
- if (dc->action & GDK_ACTION_MOVE)
+ if (gdk_drag_context_get_selected_action(dc) & GDK_ACTION_MOVE)
del_src = TRUE;
else
del_src = FALSE;
if ((pos == GTK_TREE_VIEW_DROP_INTO_OR_BEFORE) || (pos ==
GTK_TREE_VIEW_DROP_INTO_OR_AFTER)) { /* drop into existing playlist */
/* copy files from iPod if necessary */
- GList *trackglist =
exporter->transfer_track_names_between_itdbs(tr_s->itdb, pl->itdb, data->data);
+ GList *trackglist =
exporter->transfer_track_names_between_itdbs(tr_s->itdb, pl->itdb,
gtk_selection_data_get_data(data));
if (trackglist) {
add_trackglist_to_playlist(pl, trackglist);
g_list_free(trackglist);
trackglist = NULL;
- pm_tm_tracks_moved_or_copied(data->data, del_src);
+
pm_tm_tracks_moved_or_copied(gtk_selection_data_get_data(data), del_src);
gtk_drag_finish(dc, TRUE, del_src, time);
}
else {
@@ -626,12 +632,12 @@ static void pm_drag_data_received(GtkWidget *widget,
GdkDragContext *dc, gint x,
if (plitem) {
/* copy files from iPod if necessary */
- GList *trackglist =
exporter->transfer_track_names_between_itdbs(tr_s->itdb, pl->itdb, data->data);
+ GList *trackglist =
exporter->transfer_track_names_between_itdbs(tr_s->itdb, pl->itdb,
gtk_selection_data_get_data(data));
if (trackglist) {
add_trackglist_to_playlist(plitem, trackglist);
g_list_free(trackglist);
trackglist = NULL;
- pm_tm_tracks_moved_or_copied(data->data, del_src);
+
pm_tm_tracks_moved_or_copied(gtk_selection_data_get_data(data), del_src);
gtk_drag_finish(dc, TRUE, del_src, time);
}
else {
@@ -648,44 +654,44 @@ static void pm_drag_data_received(GtkWidget *widget,
GdkDragContext *dc, gint x,
case DND_TEXT_URI_LIST:
case DND_TEXT_PLAIN:
if ((pos == GTK_TREE_VIEW_DROP_INTO_OR_BEFORE) || (pos ==
GTK_TREE_VIEW_DROP_INTO_OR_AFTER)) { /* drop into existing playlist */
- add_text_plain_to_playlist(pl->itdb, pl, data->data, 0, NULL,
NULL);
- dc->action = GDK_ACTION_COPY;
+ add_text_plain_to_playlist(pl->itdb, pl,
gtk_selection_data_get_data(data), 0, NULL, NULL);
+ gdk_drag_status(dc, GDK_ACTION_COPY, time);
gtk_drag_finish(dc, TRUE, FALSE, time);
}
else { /* drop between playlists */
Playlist *plitem;
if (pos == GTK_TREE_VIEW_DROP_AFTER)
- plitem = add_text_plain_to_playlist(pl->itdb, NULL,
data->data, position + 1, NULL, NULL);
+ plitem = add_text_plain_to_playlist(pl->itdb, NULL,
gtk_selection_data_get_data(data), position + 1, NULL, NULL);
else
- plitem = add_text_plain_to_playlist(pl->itdb, NULL,
data->data, position, NULL, NULL);
+ plitem = add_text_plain_to_playlist(pl->itdb, NULL,
gtk_selection_data_get_data(data), position, NULL, NULL);
if (plitem) {
- dc->action = GDK_ACTION_COPY;
+ gdk_drag_status(dc, GDK_ACTION_COPY, time);
gtk_drag_finish(dc, TRUE, FALSE, time);
}
else {
- dc->action = 0;
+ gdk_drag_status(dc, 0, time);
gtk_drag_finish(dc, FALSE, FALSE, time);
}
}
break;
case DND_GTKPOD_PLAYLISTLIST:
/* get first playlist and check action */
- sscanf(data->data, "%p", &pl_s);
+ sscanf(gtk_selection_data_get_data(data), "%p", &pl_s);
if (!pl_s) {
gtk_drag_finish(dc, FALSE, FALSE, time);
g_return_if_reached ();
}
- dc->action = pm_pm_get_action(pl_s, pl, widget, pos, dc);
+ gdk_drag_status(dc, pm_pm_get_action(pl_s, pl, widget, pos, dc), time);
- if (dc->action == 0) {
+ if (gdk_drag_context_get_selected_action(dc) == 0) {
gtk_drag_finish(dc, FALSE, FALSE, time);
return;
}
if (pl->itdb == pl_s->itdb) { /* handle DND within the same itdb */
- switch (dc->action) {
+ switch (gdk_drag_context_get_selected_action(dc)) {
case GDK_ACTION_COPY:
/* if copy-drop is between two playlists, create new
* playlist */
@@ -764,7 +770,7 @@ static void pm_drag_data_received(GtkWidget *widget,
GdkDragContext *dc, gint x,
add_trackglist_to_playlist(pl_d, trackglist);
g_list_free(trackglist);
trackglist = NULL;
- switch (dc->action) {
+ switch (gdk_drag_context_get_selected_action(dc)) {
case GDK_ACTION_MOVE:
gtk_drag_finish(dc, TRUE, TRUE, time);
break;
@@ -1180,20 +1186,25 @@ static void pm_selection_changed(GtkTreeSelection
*selection, gpointer user_data
}
}
+static void cell_renderer_stop_editing(GtkCellRenderer *renderer, gpointer
user_data) {
+ gtk_cell_renderer_stop_editing (renderer, (gboolean)
GPOINTER_TO_INT(user_data));
+}
+
/* Stop editing. If @cancel is TRUE, the edited value will be
discarded (I have the feeling that the "discarding" part does not
work quite the way intended). */
void pm_stop_editing(gboolean cancel) {
GtkTreeViewColumn *col;
+ GList *cells;
g_return_if_fail (playlist_treeview);
gtk_tree_view_get_cursor(playlist_treeview, NULL, &col);
+
if (col) {
- if (!cancel && col->editable_widget)
- gtk_cell_editable_editing_done(col->editable_widget);
- if (col->editable_widget)
- gtk_cell_editable_remove_widget(col->editable_widget);
+ cells = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT (col));
+ g_list_foreach(cells, (GFunc) cell_renderer_stop_editing,
GINT_TO_POINTER((gint) cancel));
+ g_list_free(cells);
}
}
diff --git a/plugins/sorttab_display/display_sorttabs.c
b/plugins/sorttab_display/display_sorttabs.c
index 3aa15da..6d97b2b 100644
--- a/plugins/sorttab_display/display_sorttabs.c
+++ b/plugins/sorttab_display/display_sorttabs.c
@@ -201,7 +201,7 @@ static void st_drag_data_get(GtkWidget *widget,
GdkDragContext *context, GtkSele
break;
}
}
- gtk_selection_data_set(data, data->target, 8, reply->str, reply->len);
+ gtk_selection_data_set(data, gtk_selection_data_get_target(data), 8,
reply->str, reply->len);
g_string_free(reply, TRUE);
}
@@ -2150,20 +2150,26 @@ gint st_data_compare_func(GtkTreeModel *model,
GtkTreeIter *a, GtkTreeIter *b, g
return st->entry_compare_func(entry1, entry2);
}
+static void cell_renderer_stop_editing(GtkCellRenderer *renderer, gpointer
user_data) {
+ gtk_cell_renderer_stop_editing (renderer, (gboolean)
GPOINTER_TO_INT(user_data));
+}
+
/* Stop editing. If @cancel is TRUE, the edited value will be
discarded (I have the feeling that the "discarding" part does not
work quite the way intended). */
void st_stop_editing(gint inst, gboolean cancel) {
if (inst < prefs_get_int("sort_tab_num")) {
SortTab *st = sorttab[inst];
+ GList *cells;
+
if (st) {
GtkTreeViewColumn *col;
gtk_tree_view_get_cursor(st->treeview[st->current_category], NULL,
&col);
+
if (col) {
- if (!cancel && col->editable_widget)
- gtk_cell_editable_editing_done(col->editable_widget);
- if (col->editable_widget)
- gtk_cell_editable_remove_widget(col->editable_widget);
+ cells = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT (col));
+ g_list_foreach(cells, (GFunc) cell_renderer_stop_editing,
GINT_TO_POINTER((gint) cancel));
+ g_list_free(cells);
}
}
}
@@ -3227,7 +3233,7 @@ gint st_get_sort_tab_number(gchar *text) {
combo = gtk_combo_new();
gtk_widget_show(combo);
- gtk_container_add(GTK_CONTAINER (GTK_DIALOG(dialog)->vbox), combo);
+ gtk_container_add(GTK_CONTAINER
(gtk_dialog_get_content_area(GTK_DIALOG(dialog))), combo);
stn = prefs_get_int("sort_tab_num");
/* Create list */
diff --git a/plugins/track_display/display_tracks.c
b/plugins/track_display/display_tracks.c
index b1f66d1..ea69d4d 100644
--- a/plugins/track_display/display_tracks.c
+++ b/plugins/track_display/display_tracks.c
@@ -52,6 +52,12 @@
#include "sort_window.h"
#include "track_display_context_menu.h"
+#ifndef HAVE_GSEALED_GDK
+/* Compatibility macros for previous GDK versions */
+#define gdk_drag_context_get_selected_action(x) ((x)->action)
+#define gdk_drag_context_get_suggested_action(x) ((x)->suggested_action)
+#endif
+
/* reference to glade xml for use with track plugin */
static GladeXML *track_glade = NULL;
/* pointer to the container for the track display */
@@ -452,7 +458,7 @@ static gboolean tm_drag_motion(GtkWidget *widget,
GdkDragContext *dc, gint x, gi
}
}
else { /* whatever the source suggests */
- gdk_drag_status(dc, dc->suggested_action, time);
+ gdk_drag_status(dc, gdk_drag_context_get_suggested_action(dc), time);
}
return TRUE;
@@ -482,7 +488,7 @@ static void tm_drag_data_get(GtkWidget *widget,
GdkDragContext *context, GtkSele
break;
}
}
- gtk_selection_data_set(data, data->target, 8, reply->str, reply->len);
+ gtk_selection_data_set(data, gtk_selection_data_get_target(data), 8,
reply->str, reply->len);
g_string_free(reply, TRUE);
}
@@ -495,10 +501,10 @@ static void tm_drag_data_received(GtkWidget *widget,
GdkDragContext *dc, gint x,
/* printf ("sm drop received info: %d\n", info); */
/* sometimes we get empty dnd data, ignore */
- if (widgets_blocked || (!dc) || (!data) || (data->length < 0))
+ if (widgets_blocked || (!dc) || (!data) ||
(gtk_selection_data_get_length(data) < 0))
return;
/* yet another check, i think it's an 8 bit per byte check */
- if (data->format != 8)
+ if (gtk_selection_data_get_format(data) != 8)
return;
gp_remove_autoscroll_row_timeout(widget);
@@ -546,28 +552,28 @@ static void tm_drag_data_received(GtkWidget *widget,
GdkDragContext *dc, gint x,
switch (info) {
case DND_GTKPOD_TM_PATHLIST:
g_return_if_fail (path);
- result = tm_move_pathlist(data->data, path, pos);
- dc->action = GDK_ACTION_MOVE;
+ result = tm_move_pathlist(gtk_selection_data_get_data(data), path,
pos);
+ gdk_drag_status(dc, GDK_ACTION_MOVE, time);
gtk_drag_finish(dc, TRUE, FALSE, time);
break;
case DND_TEXT_PLAIN:
- result = tm_add_filelist(data->data, path, pos);
- dc->action = dc->suggested_action;
- if (dc->action == GDK_ACTION_MOVE)
+ result = tm_add_filelist(gtk_selection_data_get_data(data), path, pos);
+ gdk_drag_status(dc, gdk_drag_context_get_suggested_action(dc), time);
+ if (gdk_drag_context_get_selected_action(dc) == GDK_ACTION_MOVE)
gtk_drag_finish(dc, TRUE, TRUE, time);
else
gtk_drag_finish(dc, TRUE, FALSE, time);
break;
case DND_TEXT_URI_LIST:
- result = tm_add_filelist(data->data, path, pos);
- dc->action = dc->suggested_action;
- if (dc->action == GDK_ACTION_MOVE)
+ result = tm_add_filelist(gtk_selection_data_get_data(data), path, pos);
+ gdk_drag_status(dc, gdk_drag_context_get_suggested_action(dc), time);
+ if (gdk_drag_context_get_selected_action(dc) == GDK_ACTION_MOVE)
gtk_drag_finish(dc, TRUE, TRUE, time);
else
gtk_drag_finish(dc, TRUE, FALSE, time);
break;
default:
- dc->action = 0;
+ gdk_drag_status(dc, 0, time);
gtk_drag_finish(dc, FALSE, FALSE, time);
/* puts ("tm_drag_data_received(): should not be reached"); */
break;
@@ -692,7 +698,7 @@ void tm_store_col_order(void) {
for (i = 0; i < TM_NUM_COLUMNS; ++i) {
col = gtk_tree_view_get_column(track_treeview, i);
if (col != NULL) {
- prefs_set_int_index("col_order", i, col->sort_column_id);
+ prefs_set_int_index("col_order", i,
gtk_tree_view_column_get_sort_column_id(col));
}
}
}
@@ -1430,6 +1436,10 @@ tm_get_all_tracks(void) {
return result;
}
+static void cell_renderer_stop_editing(GtkCellRenderer *renderer, gpointer
user_data) {
+ gtk_cell_renderer_stop_editing (renderer, (gboolean)
GPOINTER_TO_INT(user_data));
+}
+
/* Stop editing. If @cancel is TRUE, the edited value will be
discarded (I have the feeling that the "discarding" part does not
work quite the way intended). */
@@ -1441,15 +1451,18 @@ void tm_stop_editing(gboolean cancel) {
gtk_tree_view_get_cursor(track_treeview, NULL, &col);
if (col) {
+ GList *cells;
+
/* Before removing the widget we set multi_edit to FALSE. That
way at most one entry will be changed (this also doesn't
seem to work the way intended) */
gboolean me = prefs_get_int("multi_edit");
prefs_set_int("multi_edit", FALSE);
- if (!cancel && col->editable_widget)
- gtk_cell_editable_editing_done(col->editable_widget);
- if (col->editable_widget)
- gtk_cell_editable_remove_widget(col->editable_widget);
+
+ cells = gtk_cell_layout_get_cells(GTK_CELL_LAYOUT (col));
+ g_list_foreach(cells, (GFunc) cell_renderer_stop_editing,
GINT_TO_POINTER((gint) cancel));
+ g_list_free(cells);
+
prefs_set_int("multi_edit", me);
}
}
@@ -2172,8 +2185,13 @@ static GtkTreeViewColumn *tm_add_column(TM_item tm_item,
gint pos) {
if (pos != -1) {
gtk_tree_view_column_set_visible(col,
prefs_get_int_index("col_visible", tm_item));
}
- if (get_tm_tooltip(tm_item))
- gtk_tooltips_set_tip(tt, col->button, gettext (get_tm_tooltip
(tm_item)), NULL);
+
+ if (get_tm_tooltip(tm_item)) {
+ GtkWidget *label = GTK_WIDGET (gtk_label_new(text));
+ gtk_tree_view_column_set_widget(col, label);
+ gtk_tooltips_set_tip(tt, label, gettext (get_tm_tooltip (tm_item)),
NULL);
+ }
+
return col;
}
diff --git a/plugins/track_display/rb_cell_renderer_rating.c
b/plugins/track_display/rb_cell_renderer_rating.c
index e7c8400..bf4e85b 100644
--- a/plugins/track_display/rb_cell_renderer_rating.c
+++ b/plugins/track_display/rb_cell_renderer_rating.c
@@ -141,7 +141,7 @@ rb_cell_renderer_rating_init (RBCellRendererRating
*cellrating)
cellrating->priv = RB_CELL_RENDERER_RATING_GET_PRIVATE (cellrating);
/* set the renderer able to be activated */
- GTK_CELL_RENDERER (cellrating)->mode =
GTK_CELL_RENDERER_MODE_ACTIVATABLE;
+ g_object_set_(cellrating, "mode", GTK_CELL_RENDERER_MODE_ACTIVATABLE,
NULL);
/* create the needed icons */
}
@@ -254,8 +254,11 @@ rb_cell_renderer_rating_get_size (GtkCellRenderer *cell,
{
int icon_width;
RBCellRendererRating *cellrating = (RBCellRendererRating *) cell;
+ int xpad;
+ int ypad;
gtk_icon_size_lookup (GTK_ICON_SIZE_MENU, &icon_width, NULL);
+ gtk_cell_renderer_get_padding (cell, &xpad, &ypad);
if (x_offset)
*x_offset = 0;
@@ -264,10 +267,10 @@ rb_cell_renderer_rating_get_size (GtkCellRenderer *cell,
*y_offset = 0;
if (width)
- *width = (gint) GTK_CELL_RENDERER (cellrating)->xpad * 2 +
icon_width * RB_RATING_MAX_SCORE;
+ *width = (gint) xpad * 2 + icon_width * RB_RATING_MAX_SCORE;
if (height)
- *height = (gint) GTK_CELL_RENDERER (cellrating)->ypad * 2 +
icon_width;
+ *height = (gint) ypad * 2 + icon_width;
}
static void
@@ -284,6 +287,8 @@ rb_cell_renderer_rating_render (GtkCellRenderer *cell,
GdkRectangle pix_rect, draw_rect;
RBCellRendererRating *cellrating = (RBCellRendererRating *) cell;
RBCellRendererRatingClass *cell_class;
+ int xpad;
+ int ypad;
cellrating = RB_CELL_RENDERER_RATING (cell);
cell_class = RB_CELL_RENDERER_RATING_GET_CLASS (cellrating);
@@ -293,10 +298,11 @@ rb_cell_renderer_rating_render (GtkCellRenderer *cell,
&pix_rect.width,
&pix_rect.height);
+ gtk_cell_renderer_get_padding (cell, &xpad, &ypad);
pix_rect.x += cell_area->x;
pix_rect.y += cell_area->y;
- pix_rect.width -= cell->xpad * 2;
- pix_rect.height -= cell->ypad * 2;
+ pix_rect.width -= xpad * 2;
+ pix_rect.height -= ypad * 2;
if (gdk_rectangle_intersect (cell_area, &pix_rect, &draw_rect) == FALSE)
return;
diff --git a/plugins/track_display/rb_rating_helper.c
b/plugins/track_display/rb_rating_helper.c
index 9aba8c3..68aa3f5 100644
--- a/plugins/track_display/rb_rating_helper.c
+++ b/plugins/track_display/rb_rating_helper.c
@@ -130,13 +130,13 @@ rb_rating_render_stars (GtkWidget *widget,
if (selected == TRUE) {
offset = 0;
- if (GTK_WIDGET_HAS_FOCUS (widget))
+ if (gtk_widget_has_focus (widget))
state = GTK_STATE_SELECTED;
else
state = GTK_STATE_ACTIVE;
} else {
offset = 120;
- if (GTK_WIDGET_STATE (widget) == GTK_STATE_INSENSITIVE)
+ if (!gtk_widget_get_sensitive (widget))
state = GTK_STATE_INSENSITIVE;
else
state = GTK_STATE_NORMAL;
diff --git a/plugins/track_display/sort_window.c
b/plugins/track_display/sort_window.c
index b1aa06d..b40b263 100644
--- a/plugins/track_display/sort_window.c
+++ b/plugins/track_display/sort_window.c
@@ -126,7 +126,7 @@ static void sort_window_read_sort_ign() {
void sort_window_create(void) {
if (sort_window) {
/* sort options already open --> simply raise to the top */
- gdk_window_raise(sort_window->window);
+ gdk_window_raise(gtk_widget_get_window(sort_window));
}
else {
GList *sort_ign_strings;
diff --git a/src/anjuta-app.c b/src/anjuta-app.c
index 8cb0c4a..71e862d 100644
--- a/src/anjuta-app.c
+++ b/src/anjuta-app.c
@@ -237,7 +237,7 @@ static void on_session_save(AnjutaShell *shell,
AnjutaSessionPhase phase, Anjuta
return;
/* Save geometry */
- state = gdk_window_get_state(GTK_WIDGET (app)->window);
+ state = gdk_window_get_state(gtk_widget_get_window(GTK_WIDGET (app)));
if (state & GDK_WINDOW_STATE_MAXIMIZED) {
anjuta_session_set_int(session, "Anjuta", "Maximized", 1);
}
@@ -549,7 +549,7 @@ anjuta_app_get_geometry(AnjutaApp *app) {
geometry = NULL;
width = height = posx = posy = 0;
- if (GTK_WIDGET(app)->window) {
+ if (gtk_widget_get_window(GTK_WIDGET (app))) {
gtk_window_get_size(GTK_WINDOW (app), &width, &height);
gtk_window_get_position(GTK_WINDOW(app), &posx, &posy);
@@ -566,7 +566,7 @@ void anjuta_app_set_geometry(AnjutaApp *app, const gchar
*geometry) {
DEBUG_PRINT ("Setting geometry: %s", geometry);
if (sscanf(geometry, "%dx%d+%d+%d", &width, &height, &posx, &posy) ==
4) {
- if (GTK_WIDGET_REALIZED (app)) {
+ if (gtk_widget_get_realized (GTK_WIDGET (app))) {
gtk_window_resize(GTK_WINDOW (app), width, height);
}
else {
@@ -586,7 +586,7 @@ void anjuta_app_set_geometry(AnjutaApp *app, const gchar
*geometry) {
height = gdk_screen_height() - 25;
width = (width < 790) ? width : 790;
height = (height < 575) ? width : 575;
- if (GTK_WIDGET_REALIZED (app) == FALSE) {
+ if (gtk_widget_get_realized (GTK_WIDGET (app)) == FALSE) {
gtk_window_set_default_size(GTK_WINDOW (app), width, height);
gtk_window_move(GTK_WINDOW (app), posx, posy);
}
@@ -1221,7 +1221,7 @@ static void confirm_append_text(GladeXML *xml, const
gchar *text) {
w = gtkpod_xml_get_widget(xml, "scroller");
adjustment = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW (w));
- gtk_adjustment_set_value(adjustment, adjustment->upper -
adjustment->page_size);
+ gtk_adjustment_set_value(adjustment, gtk_adjustment_get_upper(adjustment)
- gtk_adjustment_get_page_size(adjustment));
g_strfreev(strings);
}
@@ -1405,7 +1405,7 @@ static GtkResponseType
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
ENTER in the window (usually OK)*/
/* Hide or default CANCEL button */
if ((w = gtkpod_xml_get_widget(confirm_xml, "cancel"))) {
- GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
+ gtk_widget_set_can_default (w, TRUE);
gtk_widget_grab_default(w);
if (!cancel_handler)
@@ -1414,7 +1414,7 @@ static GtkResponseType
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
/* Hide or default APPLY button */
if ((w = gtkpod_xml_get_widget(confirm_xml, "apply"))) {
- GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
+ gtk_widget_set_can_default (w, TRUE);
gtk_widget_grab_default(w);
if (!apply_handler)
@@ -1423,7 +1423,7 @@ static GtkResponseType
anjuta_gtkpod_app_confirmation(GtkPodApp *obj, gint id, g
/* Hide or default OK button */
if ((w = gtkpod_xml_get_widget(confirm_xml, "ok"))) {
- GTK_WIDGET_SET_FLAGS (w, GTK_CAN_DEFAULT);
+ gtk_widget_set_can_default (w, TRUE);
gtk_widget_grab_default(w);
if (!ok_handler)
------------------------------------------------------------------------------
Sell apps to millions through the Intel(R) Atom(Tm) Developer Program
Be part of this innovative community and reach millions of netbook users
worldwide. Take advantage of special opportunities to increase revenue and
speed time-to-market. Join now, and jumpstart your future.
http://p.sf.net/sfu/intel-atom-d2d
_______________________________________________
gtkpod-cvs2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2