pidgin/gtkutils.c

branch
cpw.resiak.disconnectreason
changeset 21503
b3cad646ba4a
parent 21326
62bb702f824a
parent 21453
a90cf329cd48
child 21504
0c78851f576b
equal deleted inserted replaced
21338:785e58fb02de 21503:b3cad646ba4a
849 } 849 }
850 850
851 gboolean 851 gboolean
852 pidgin_check_if_dir(const char *path, GtkFileSelection *filesel) 852 pidgin_check_if_dir(const char *path, GtkFileSelection *filesel)
853 { 853 {
854 char *dirname; 854 char *dirname = NULL;
855 855
856 if (g_file_test(path, G_FILE_TEST_IS_DIR)) { 856 if (g_file_test(path, G_FILE_TEST_IS_DIR)) {
857 /* append a / if needed */ 857 /* append a / if needed */
858 if (path[strlen(path) - 1] != G_DIR_SEPARATOR) { 858 if (path[strlen(path) - 1] != G_DIR_SEPARATOR) {
859 dirname = g_strconcat(path, G_DIR_SEPARATOR_S, NULL); 859 dirname = g_strconcat(path, G_DIR_SEPARATOR_S, NULL);
860 } else { 860 }
861 dirname = g_strdup(path); 861 gtk_file_selection_set_filename(filesel, (dirname != NULL) ? dirname : path);
862 }
863 gtk_file_selection_set_filename(filesel, dirname);
864 g_free(dirname); 862 g_free(dirname);
865 return TRUE; 863 return TRUE;
866 } 864 }
867 865
868 return FALSE; 866 return FALSE;
1177 1175
1178 acc = gtk_widget_get_accessible (w); 1176 acc = gtk_widget_get_accessible (w);
1179 label = gtk_widget_get_accessible (l); 1177 label = gtk_widget_get_accessible (l);
1180 1178
1181 /* Make sure mnemonics work */ 1179 /* Make sure mnemonics work */
1182 gtk_label_set_mnemonic_widget(GTK_LABEL(l), w); 1180 gtk_label_set_mnemonic_widget(GTK_LABEL(l), w);
1183 1181
1184 /* Create the labeled-by relation */ 1182 /* Create the labeled-by relation */
1185 set = atk_object_ref_relation_set (acc); 1183 set = atk_object_ref_relation_set (acc);
1186 rel_obj[0] = label; 1184 rel_obj[0] = label;
1187 relation = atk_relation_new (rel_obj, 1, ATK_RELATION_LABELLED_BY); 1185 relation = atk_relation_new (rel_obj, 1, ATK_RELATION_LABELLED_BY);
1188 atk_relation_set_add (set, relation); 1186 atk_relation_set_add (set, relation);
1189 g_object_unref (relation); 1187 g_object_unref (relation);
1188 g_object_unref(set);
1190 1189
1191 /* Create the label-for relation */ 1190 /* Create the label-for relation */
1192 set = atk_object_ref_relation_set (label); 1191 set = atk_object_ref_relation_set (label);
1193 rel_obj[0] = acc; 1192 rel_obj[0] = acc;
1194 relation = atk_relation_new (rel_obj, 1, ATK_RELATION_LABEL_FOR); 1193 relation = atk_relation_new (rel_obj, 1, ATK_RELATION_LABEL_FOR);
1195 atk_relation_set_add (set, relation); 1194 atk_relation_set_add (set, relation);
1196 g_object_unref (relation); 1195 g_object_unref (relation);
1196 g_object_unref(set);
1197 } 1197 }
1198 1198
1199 void 1199 void
1200 pidgin_menu_position_func_helper(GtkMenu *menu, 1200 pidgin_menu_position_func_helper(GtkMenu *menu,
1201 gint *x, 1201 gint *x,
2857 { 2857 {
2858 #if GTK_CHECK_VERSION(2,8,0) 2858 #if GTK_CHECK_VERSION(2,8,0)
2859 gtk_window_set_urgency_hint(window, urgent); 2859 gtk_window_set_urgency_hint(window, urgent);
2860 #elif defined _WIN32 2860 #elif defined _WIN32
2861 winpidgin_window_flash(window, urgent); 2861 winpidgin_window_flash(window, urgent);
2862 #else 2862 #elif defined GDK_WINDOWING_X11
2863 GdkWindow *gdkwin; 2863 GdkWindow *gdkwin;
2864 XWMHints *hints; 2864 XWMHints *hints;
2865 2865
2866 g_return_if_fail(window != NULL); 2866 g_return_if_fail(window != NULL);
2867 2867
2879 else 2879 else
2880 hints->flags &= ~XUrgencyHint; 2880 hints->flags &= ~XUrgencyHint;
2881 XSetWMHints(GDK_WINDOW_XDISPLAY(gdkwin), 2881 XSetWMHints(GDK_WINDOW_XDISPLAY(gdkwin),
2882 GDK_WINDOW_XWINDOW(gdkwin), hints); 2882 GDK_WINDOW_XWINDOW(gdkwin), hints);
2883 XFree(hints); 2883 XFree(hints);
2884 #else
2885 /* do something else? */
2884 #endif 2886 #endif
2885 } 2887 }
2886 2888
2887 GSList *minidialogs = NULL; 2889 GSList *minidialogs = NULL;
2888 2890
2972 pidgin_mini_dialog_add_button(mini_dialog, button_text, 2974 pidgin_mini_dialog_add_button(mini_dialog, button_text,
2973 old_mini_dialog_button_clicked_cb, data); 2975 old_mini_dialog_button_clicked_cb, data);
2974 cb_datas = g_list_append(cb_datas, data); 2976 cb_datas = g_list_append(cb_datas, data);
2975 } 2977 }
2976 va_end(args); 2978 va_end(args);
2979
2980 g_object_unref(sg);
2977 2981
2978 g_signal_connect(G_OBJECT(mini_dialog), "destroy", 2982 g_signal_connect(G_OBJECT(mini_dialog), "destroy",
2979 G_CALLBACK(old_mini_dialog_destroy_cb), cb_datas); 2983 G_CALLBACK(old_mini_dialog_destroy_cb), cb_datas);
2980 2984
2981 return GTK_WIDGET(mini_dialog); 2985 return GTK_WIDGET(mini_dialog);

mercurial