(trunk gtk) use GQuarks instead of strings for keys in tr-icon and tr-window

This commit is contained in:
Jordan Lee 2011-04-05 16:16:06 +00:00
parent c213d91ffd
commit fb2ffbc542
2 changed files with 20 additions and 7 deletions

View File

@ -21,6 +21,14 @@
#include "tr-icon.h"
#include "util.h"
static GQuark
get_core_quark( void )
{
static GQuark quark = 0;
if( !quark ) quark = g_quark_from_static_string( "tr-core" );
return quark;
}
#define ICON_NAME "transmission"
#ifndef STATUS_ICON_SUPPORTED
@ -65,7 +73,7 @@ gtr_icon_refresh( gpointer vicon )
char tip[1024];
const char * idle = _( "Idle" );
GtkStatusIcon * icon = GTK_STATUS_ICON( vicon );
tr_session * session = gtr_core_session( g_object_get_data( G_OBJECT( icon ), "tr-core" ) );
tr_session * session = gtr_core_session( g_object_get_qdata( G_OBJECT( icon ), get_core_quark( ) ) );
/* up */
KBps = tr_sessionGetRawSpeed_KBps( session, TR_UP );
@ -144,7 +152,7 @@ gtr_icon_new( TrCore * core)
app_indicator_set_status( indicator, APP_INDICATOR_STATUS_ACTIVE );
w = gtr_action_get_widget( "/icon-popup" );
app_indicator_set_menu( indicator, GTK_MENU ( w ) );
g_object_set_data( G_OBJECT( indicator ), "tr-core", core );
g_object_set_qdata( G_OBJECT( indicator ), get_core_quark( ), core );
return indicator;
}
#else
@ -155,7 +163,7 @@ gtr_icon_new( TrCore * core )
GtkStatusIcon * icon = gtk_status_icon_new_from_icon_name( icon_name );
g_signal_connect( icon, "activate", G_CALLBACK( activated ), NULL );
g_signal_connect( icon, "popup-menu", G_CALLBACK( popup ), NULL );
g_object_set_data( G_OBJECT( icon ), "tr-core", core );
g_object_set_qdata( G_OBJECT( icon ), get_core_quark( ), core );
return icon;
}

View File

@ -79,12 +79,18 @@ typedef struct
}
PrivateData;
#define PRIVATE_DATA_KEY "private-data"
static GQuark
get_private_data_key( void )
{
static GQuark q = 0;
if( !q ) q = g_quark_from_static_string( "private-data" );
return q;
}
static PrivateData*
get_private_data( TrWindow * w )
{
return g_object_get_data ( G_OBJECT( w ), PRIVATE_DATA_KEY );
return g_object_get_qdata ( G_OBJECT( w ), get_private_data_key( ) );
}
/***
@ -579,8 +585,7 @@ gtr_window_new( GtkUIManager * ui_mgr, TrCore * core )
/* make the window */
self = gtk_window_new ( GTK_WINDOW_TOPLEVEL );
g_object_set_data_full( G_OBJECT(
self ), PRIVATE_DATA_KEY, p, privateFree );
g_object_set_qdata_full( G_OBJECT(self), get_private_data_key( ), p, privateFree );
win = GTK_WINDOW( self );
gtk_window_set_title( win, g_get_application_name( ) );
gtk_window_set_role( win, "tr-main" );