| 170 static void destroy_cb(GtkWidget *w, gint resp, struct log_viewer_hash_t *ht) { |
170 static void destroy_cb(GtkWidget *w, gint resp, struct log_viewer_hash_t *ht) { |
| 171 PidginLogViewer *lv = syslog_viewer; |
171 PidginLogViewer *lv = syslog_viewer; |
| 172 |
172 |
| 173 #ifdef _WIN32 |
173 #ifdef _WIN32 |
| 174 if (resp == GTK_RESPONSE_HELP) { |
174 if (resp == GTK_RESPONSE_HELP) { |
| 175 char *logdir = g_build_filename(purple_user_dir(), "logs", NULL); |
175 GtkTreeSelection *sel; |
| |
176 GtkTreeIter iter; |
| |
177 GtkTreeModel *model; |
| |
178 PurpleLog *log = NULL; |
| |
179 char *logdir; |
| |
180 |
| |
181 if (ht != NULL) |
| |
182 lv = g_hash_table_lookup(log_viewers, ht); |
| |
183 model = GTK_TREE_MODEL(lv->treestore); |
| |
184 |
| |
185 sel = gtk_tree_view_get_selection(GTK_TREE_VIEW(lv->treeview)); |
| |
186 if (gtk_tree_selection_get_selected(sel, &model, &iter)) { |
| |
187 GValue val; |
| |
188 |
| |
189 val.g_type = 0; |
| |
190 gtk_tree_model_get_value (model, &iter, 1, &val); |
| |
191 log = g_value_get_pointer(&val); |
| |
192 g_value_unset(&val); |
| |
193 } |
| |
194 |
| |
195 |
| |
196 if (log == NULL) |
| |
197 logdir = g_build_filename(purple_user_dir(), "logs", NULL); |
| |
198 else |
| |
199 logdir = purple_log_get_log_dir(log->type, log->name, log->account); |
| |
200 |
| 176 winpidgin_shell_execute(logdir, "explore", NULL); |
201 winpidgin_shell_execute(logdir, "explore", NULL); |
| 177 g_free(logdir); |
202 g_free(logdir); |
| 178 return; |
203 return; |
| 179 } |
204 } |
| 180 #endif |
205 #endif |