[pan2: 187/268] added session resume
- From: Heinrich MÃller <henmull src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pan2: 187/268] added session resume
- Date: Mon, 2 Jan 2012 15:53:43 +0000 (UTC)
commit bb1a7d9116816125f166c99dbe6af14dd7556782
Author: Heinrich MÃller <sphemuel stud informatik uni-erlangen de>
Date: Mon Nov 7 17:29:19 2011 +0100
added session resume
pan/gui/post-ui.cc | 47 +++++++++----------------------------
pan/gui/task-pane.cc | 7 +++++
pan/tasks/socket-impl-openssl.cc | 12 ++++-----
3 files changed, 24 insertions(+), 42 deletions(-)
---
diff --git a/pan/gui/post-ui.cc b/pan/gui/post-ui.cc
index 74feee7..9ffca00 100644
--- a/pan/gui/post-ui.cc
+++ b/pan/gui/post-ui.cc
@@ -173,28 +173,6 @@ PostUI:: update_filequeue_label (GtkTreeSelection *selection)
****
***/
-//* only used if the encode mode has changed, would be too expensive for repetitive calls */
-//void
-//PostUI :: update_filequeue_tab()
-//{
-// GtkListStore *store = GTK_LIST_STORE(
-// gtk_tree_view_get_model(GTK_TREE_VIEW(_filequeue_store)));
-// gtk_list_store_clear(store);
-// GtkTreeIter iter;
-// int i(0);
-// TaskUpload * task;
-// while (task = dynamic_cast<TaskUpload*>(_upload_queue[i++]))
-// {
-// gtk_list_store_insert (store, &iter, i);
-// gtk_list_store_set (store, &iter,
-// 0, i+1,
-// 1, task->_subject.c_str(),
-// 2, task,
-// 3, task->_bytes/1024
-// -1);
-// }
-//}
-
void
PostUI :: on_queue_tasks_added (UploadQueue& queue, int index, int count)
{
@@ -202,6 +180,10 @@ PostUI :: on_queue_tasks_added (UploadQueue& queue, int index, int count)
GtkListStore *store = GTK_LIST_STORE(
gtk_tree_view_get_model(GTK_TREE_VIEW(_filequeue_store)));
+ GtkTreeModel* model = gtk_tree_view_get_model(GTK_TREE_VIEW(_filequeue_store));
+ g_object_ref(model);
+ gtk_tree_view_set_model(GTK_TREE_VIEW(_filequeue_store), NULL);
+
for (int i=0; i<count; ++i)
{
const int pos (index + i);
@@ -216,6 +198,8 @@ PostUI :: on_queue_tasks_added (UploadQueue& queue, int index, int count)
3, task->_bytes/1024.0f,
-1);
}
+ gtk_tree_view_set_model(GTK_TREE_VIEW(_filequeue_store), model);
+ g_object_unref(model);
update_filequeue_label();
}
@@ -586,7 +570,6 @@ PostUI :: add_actions (GtkWidget * box)
_prefs.get_flag ("spellcheck-enabled", DEFAULT_SPELLCHECK_FLAG));
gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (gtk_action_group_get_action (_agroup, "wrap")),
_prefs.get_flag ("compose-wrap-enabled", true));
-// gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (gtk_action_group_get_action (_agroup, "inline-or-bulk")), false);
//add popup actions
gtk_action_group_add_actions (_agroup, filequeue_popup_entries, G_N_ELEMENTS(filequeue_popup_entries), this);
@@ -3095,7 +3078,6 @@ PostUI :: prompt_user_for_queueable_files (GtkWindow * parent, const Prefs& pref
const Profile profile (get_current_profile ());
PostUI::tasks_t tasks;
GMimeMessage * tmp (new_message_from_ui (UPLOADING));
-
if (!check_message(profile.posting_server, tmp, true))
{
g_object_unref (G_OBJECT(tmp));
@@ -3103,7 +3085,6 @@ PostUI :: prompt_user_for_queueable_files (GtkWindow * parent, const Prefs& pref
}
std::string prev_path = prefs.get_string ("default-save-attachments-path", g_get_home_dir ());
-
GtkWidget * w = gtk_file_chooser_dialog_new (_("Add files to queue"),
parent,
GTK_FILE_CHOOSER_ACTION_OPEN,
@@ -3138,36 +3119,32 @@ PostUI :: prompt_user_for_queueable_files (GtkWindow * parent, const Prefs& pref
}
GSList * cur = g_slist_nth (tmp_list,0);
+ std::vector<Task*> uploads;
for (; cur; cur = cur->next)
{
GMimeMessage * msg (new_message_from_ui (UPLOADING));
-
- //for nzb handling
+ TaskUpload* tmp;
Article a;
+ struct stat sb;
a.subject = subject;
a.author = author;
foreach_const (quarks_t, groups, git)
a.xref.insert (profile.posting_server, *git,0);
-
- struct stat sb;
ui.total = get_total_parts((const char*)cur->data);
- TaskUpload* tmp = new TaskUpload(std::string((const char*)cur->data),
+ tmp = new TaskUpload(std::string((const char*)cur->data),
profile.posting_server, _cache, a, ui, msg);
// insert wanted parts to upload
for (int i=1;i<=ui.total; ++i)
tmp->_wanted.insert(i);
-
- _upload_queue.add_task(tmp);
+ uploads.push_back(tmp);
}
+ _upload_queue.add_tasks(uploads);
if (_file_queue_empty) _file_queue_empty= false;
g_slist_free (tmp_list);
-
} else
-
gtk_widget_destroy (w);
-
g_object_unref (G_OBJECT(tmp));
}
diff --git a/pan/gui/task-pane.cc b/pan/gui/task-pane.cc
index 98c2c80..e51f9ae 100644
--- a/pan/gui/task-pane.cc
+++ b/pan/gui/task-pane.cc
@@ -319,6 +319,10 @@ TaskPane :: on_queue_tasks_added (Queue& queue, int index, int count)
task_states_t states;
queue.get_all_task_states (states);
+ GtkTreeModel* model = gtk_tree_view_get_model(GTK_TREE_VIEW(_store));
+ g_object_ref(model);
+ gtk_tree_view_set_model(GTK_TREE_VIEW(_store), NULL);
+
for (int i=0; i<count; ++i)
{
const int pos (index + i);
@@ -330,6 +334,9 @@ TaskPane :: on_queue_tasks_added (Queue& queue, int index, int count)
COL_TASK_STATE, (int)states.get_state(task),
-1);
}
+ gtk_tree_view_set_model(GTK_TREE_VIEW(_store), model);
+ g_object_unref(model);
+
}
void
diff --git a/pan/tasks/socket-impl-openssl.cc b/pan/tasks/socket-impl-openssl.cc
index 59a79a1..851d12c 100644
--- a/pan/tasks/socket-impl-openssl.cc
+++ b/pan/tasks/socket-impl-openssl.cc
@@ -379,8 +379,8 @@ namespace
{
GIOSSLChannel *chan = (GIOSSLChannel *)handle;
- int ret;
- int err;
+ int ret(0);
+ int err(0);
X509 *cert;
const char *errstr;
@@ -394,8 +394,9 @@ namespace
SSL_set_ex_data(chan->ssl, SSL_get_fd(chan->ssl), &mydata);
- std::cerr<<"resuming session "<<session<<" for "<<chan->ssl<<std::endl;
- if (session) SSL_set_session(chan->ssl, session);
+// std::cerr<<"resuming session "<<session<<" for "<<chan->ssl<<", result ";
+ if (session) ret = SSL_set_session(chan->ssl, session);
+ std::cerr<<ret<<std::endl;
ret = SSL_connect(chan->ssl);
if (ret <= 0) {
@@ -511,9 +512,6 @@ namespace
{
GIOSSLChannel *chan = (GIOSSLChannel *)handle;
g_io_channel_close(chan->giochan);
-
- std::cerr<<"ssl close\n";
-
return G_IO_STATUS_NORMAL;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]