paperbox r129 - in trunk: . src
- From: markoa svn gnome org
- To: svn-commits-list gnome org
- Subject: paperbox r129 - in trunk: . src
- Date: Thu, 24 Apr 2008 15:25:11 +0100 (BST)
Author: markoa
Date: Thu Apr 24 14:25:10 2008
New Revision: 129
URL: http://svn.gnome.org/viewvc/paperbox?rev=129&view=rev
Log:
Tag request status awareness in the userland
Modified:
trunk/ChangeLog
trunk/src/browser.cc
trunk/src/browser.hh
trunk/src/document-tag-cloud-model.cc
trunk/src/document-tag-cloud-model.hh
trunk/src/document-tile.cc
trunk/src/document-tile.hh
Modified: trunk/src/browser.cc
==============================================================================
--- trunk/src/browser.cc (original)
+++ trunk/src/browser.cc Thu Apr 24 14:25:10 2008
@@ -142,23 +142,22 @@
}
void
- Browser::on_add_tags_request_completed(bool status,
+ Browser::on_add_tags_request_completed(bool success,
const ustring& uri,
const vector<ustring>& tags)
{
doc_map::iterator doc_iter = docs_.find(uri.raw());
shared_ptr<Document> doc = doc_iter->second;
- // TODO: be properly status-aware
- if (status) {
+ if (success) {
vector<ustring>::const_iterator it(tags.begin());
vector<ustring>::const_iterator end(tags.end());
for ( ; it != end; ++it) doc->add_tag(*it);
-
- vector<ustring> tags_removed_none;
- signal_tags_changed_.emit(uri, tags, tags_removed_none);
}
+
+ vector<ustring> tags_removed_none;
+ signal_tags_changed_.emit(uri, success, tags, tags_removed_none);
}
// Does the validation work and forwards the add request to TrackerPhone
@@ -188,23 +187,22 @@
}
void
- Browser::on_remove_tags_request_completed(bool status,
+ Browser::on_remove_tags_request_completed(bool success,
const ustring& uri,
const vector<ustring>& tags)
{
doc_map::iterator doc_iter = docs_.find(uri.raw());
shared_ptr<Document> doc = doc_iter->second;
- // TODO: be properly status-aware
- if (status) {
+ if (success) {
vector<ustring>::const_iterator it(tags.begin());
vector<ustring>::const_iterator end(tags.end());
for ( ; it != end; ++it) doc->remove_tag(*it);
-
- vector<ustring> tags_added_none;
- signal_tags_changed_.emit(uri, tags_added_none, tags);
}
+
+ vector<ustring> tags_added_none;
+ signal_tags_changed_.emit(uri, success, tags_added_none, tags);
}
// Does the validation work and forwards the remove request to TrackerPhone
Modified: trunk/src/browser.hh
==============================================================================
--- trunk/src/browser.hh (original)
+++ trunk/src/browser.hh Thu Apr 24 14:25:10 2008
@@ -47,11 +47,13 @@
/*
* eg void on_tags_changed(
* const std::string& uri,
+ * bool success,
* const std::vector<Glib::ustring>& tags_added,
* const std::vector<Glib::ustring>& tags_removed);
*/
typedef sigc::signal<void,
const std::string&,
+ bool,
const std::vector<Glib::ustring>& ,
const std::vector<Glib::ustring>& >
SignalTagsChanged;
Modified: trunk/src/document-tag-cloud-model.cc
==============================================================================
--- trunk/src/document-tag-cloud-model.cc (original)
+++ trunk/src/document-tag-cloud-model.cc Thu Apr 24 14:25:10 2008
@@ -48,9 +48,12 @@
void
DocumentTagCloudModel::on_tags_changed(
const std::string& /* uri */,
+ bool success,
const vector<Glib::ustring>& tags_added,
const vector<Glib::ustring>& tags_removed)
{
+ if (! success) return; // just ignore, a tile would notify the user
+
vector<Glib::ustring>::const_iterator it_add(tags_added.begin());
vector<Glib::ustring>::const_iterator end_add(tags_added.end());
Modified: trunk/src/document-tag-cloud-model.hh
==============================================================================
--- trunk/src/document-tag-cloud-model.hh (original)
+++ trunk/src/document-tag-cloud-model.hh Thu Apr 24 14:25:10 2008
@@ -44,6 +44,7 @@
protected:
void on_tags_changed(const std::string& uri,
+ bool success,
const std::vector<Glib::ustring>& tags_added,
const std::vector<Glib::ustring>& tags_removed);
};
Modified: trunk/src/document-tile.cc
==============================================================================
--- trunk/src/document-tile.cc (original)
+++ trunk/src/document-tile.cc Thu Apr 24 14:25:10 2008
@@ -24,6 +24,7 @@
#include <gtk/gtklinkbutton.h>
#include <gtk/gtkwidget.h>
#include <glibmm-utils/ustring.h>
+#include <gtkmm-utils/dialog.h>
#include <gtkmm/stock.h>
#include "browser.hh"
#include "dialog-tag-entry.hh"
@@ -88,7 +89,7 @@
tag_links_.clear();
}
- Glib::ustring
+ ustring
DocumentTile::get_document_uri() const
{
return uri_;
@@ -152,8 +153,8 @@
}
void
- DocumentTile::refresh_tag_links(const vector<Glib::ustring>& tags_added,
- const vector<Glib::ustring>& tags_removed)
+ DocumentTile::refresh_tag_links(const vector<ustring>& tags_added,
+ const vector<ustring>& tags_removed)
{
{
vector<ustring>::const_iterator it(tags_added.begin());
@@ -264,7 +265,7 @@
void
DocumentTile::on_tag_add_clicked()
{
- vector<Glib::ustring> tags;
+ vector<ustring> tags;
shared_ptr<DialogTagEntry> dialog(DialogTagEntry::create());
dialog->set_default_response(Gtk::RESPONSE_OK);
@@ -278,13 +279,13 @@
void
DocumentTile::on_taglink(Gtk::LinkButton */*button*/,
- const Glib::ustring& uri)
+ const ustring& uri)
{
signal_tag_clicked_.emit(uri);
}
void
- DocumentTile::on_tag_link_tag_remove_request(const Glib::ustring& tag)
+ DocumentTile::on_tag_link_tag_remove_request(const ustring& tag)
{
vector<ustring> tag_vec;
tag_vec.push_back(tag);
@@ -294,14 +295,22 @@
void
DocumentTile::on_tags_changed(const std::string& uri,
- const vector<Glib::ustring>& tags_added,
- const vector<Glib::ustring>& tags_removed)
+ bool success,
+ const vector<ustring>& tags_added,
+ const vector<ustring>& tags_removed)
{
if (uri_ != uri) return;
- unpack_tag_links();
- refresh_tag_links(tags_added, tags_removed);
- pack_tag_links();
+ if (success) {
+ unpack_tag_links();
+ refresh_tag_links(tags_added, tags_removed);
+ pack_tag_links();
+ } else {
+ // TODO: wrap in _()
+ ustring op;
+ op = tags_added.size() > 0 ? "add tags to" : "remove tags from ";
+ Gtk::Util::display_dialog_error("Failed to " + op + uri);
+ }
}
void
Modified: trunk/src/document-tile.hh
==============================================================================
--- trunk/src/document-tile.hh (original)
+++ trunk/src/document-tile.hh Thu Apr 24 14:25:10 2008
@@ -82,6 +82,7 @@
// Browser's signal handler
void on_tags_changed(const std::string& uri,
+ bool success,
const std::vector<Glib::ustring>& tags_added,
const std::vector<Glib::ustring>& tags_removed);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]