| 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); |