~ubuntu-branches/ubuntu/vivid/gnote/vivid-proposed

« back to all changes in this revision

Viewing changes to src/watchers.cpp

  • Committer: Package Import Robot
  • Author(s): Vincent Cheng
  • Date: 2011-09-24 20:18:37 UTC
  • mfrom: (1.3.11 upstream)
  • Revision ID: package-import@ubuntu.com-20110924201837-39jpl1odhsub2956
Tags: 0.8.0-1
* New upstream release, featuring GTK+ 3 port.
  - Add versioned build dependency on libglibmm-2.4-dev (>= 2.28).
  - Replace build dependency on libgtkmm-2.4-dev with libgtkmm-3.0-dev.
  - Remove build dependencies on the following packages:
    - libdbus-c++-dev
    - libgconf2-dev
    - libgtkspell-dev (GtkSpell has yet to be ported to GTK+ 3)
    - libpanelappletmm-2.6-dev (Closes: #638108)
      - This removes support for the gnome-panel applet. (Closes: #566670)
      - Support for gnome-panel will be re-enabled once
        libpanel-applet-4-dev migrates from experimental to unstable.
* Re-format debian/copyright to fix lintian warnings.

Show diffs side-by-side

added added

removed removed

Lines of Context:
137
137
    get_buffer()->remove_tag (m_title_tag, get_title_end(), end);
138
138
      
139
139
    //In the case of large copy and paste operations, show the end of the block
140
 
    get_window()->editor()->scroll_mark_onscreen (get_buffer()->get_insert());
 
140
    get_window()->editor()->scroll_to (get_buffer()->get_insert());
141
141
  }
142
142
  
143
143
 
296
296
 
297
297
  void NoteSpellChecker::on_note_opened ()
298
298
  {
299
 
    Preferences::obj().signal_setting_changed()
 
299
    Glib::RefPtr<Gio::Settings> settings = Preferences::obj()
 
300
      .get_schema_settings(Preferences::SCHEMA_GNOTE);
 
301
    settings->signal_changed()
300
302
      .connect(sigc::mem_fun(*this, &NoteSpellChecker::on_enable_spellcheck_changed));
301
 
    if(Preferences::obj().get<bool>(Preferences::ENABLE_SPELLCHECKING)) {
 
303
    if(settings->get_boolean(Preferences::ENABLE_SPELLCHECKING)) {
302
304
      attach ();
303
305
    }
304
306
  }
336
338
  }
337
339
  
338
340
 
339
 
  void NoteSpellChecker::on_enable_spellcheck_changed(Preferences *, GConfEntry * entry)
 
341
  void NoteSpellChecker::on_enable_spellcheck_changed(const Glib::ustring & key)
340
342
  {
341
 
    const char * key = gconf_entry_get_key(entry);
342
 
    
343
 
    if (strcmp(key, Preferences::ENABLE_SPELLCHECKING) != 0) {
 
343
    if (key != Preferences::ENABLE_SPELLCHECKING) {
344
344
      return;
345
345
    }
346
 
    GConfValue *value = gconf_entry_get_value(entry);
 
346
    bool value = Preferences::obj()
 
347
      .get_schema_settings(Preferences::SCHEMA_GNOTE)->get_boolean(key);
347
348
    
348
 
    if (gconf_value_get_bool(value)) {
 
349
    if (value) {
349
350
      attach ();
350
351
    } 
351
352
    else {
443
444
      sigc::mem_fun(*this, &NoteUrlWatcher::on_button_press), false);
444
445
    editor->signal_populate_popup().connect(
445
446
      sigc::mem_fun(*this, &NoteUrlWatcher::on_populate_popup));
446
 
#ifdef HAVE_CLASS_GTK__WIDGET_SIGNAL_POPUP_MENU
447
447
    editor->signal_popup_menu().connect(
448
448
      sigc::mem_fun(*this, &NoteUrlWatcher::on_popup_menu), false);
449
 
#endif
450
449
  }
451
450
 
452
451
  std::string NoteUrlWatcher::get_url(const Gtk::TextIter & start, const Gtk::TextIter & end)
744
743
  }
745
744
 
746
745
 
747
 
  void NoteLinkWatcher::on_note_renamed(const Note::Ptr& renamed, const std::string& old_title)
 
746
  void NoteLinkWatcher::on_note_renamed(const Note::Ptr& renamed, const std::string& /*old_title*/)
748
747
  {
749
748
    if (renamed == get_note()) {
750
749
      return;
797
796
    }
798
797
 
799
798
    // Don't create links inside URLs
800
 
    if (title_start.has_tag (m_url_tag)) {
 
799
    if(get_note()->get_tag_table()->has_link_tag(title_start)) {
801
800
      return;
802
801
    }
803
802
 
880
879
  }
881
880
 
882
881
 
883
 
  void NoteLinkWatcher::on_apply_tag(const Glib::RefPtr<Gtk::TextBuffer::Tag> & tag,
 
882
  void NoteLinkWatcher::on_apply_tag(const Glib::RefPtr<Gtk::TextBuffer::Tag> & /*tag*/,
884
883
                                     const Gtk::TextIter & start, const Gtk::TextIter &end)
885
884
  {
886
885
    std::string link_name = start.get_text (end);
955
954
 
956
955
  void NoteWikiWatcher::on_note_opened ()
957
956
  {
958
 
    if ((bool) Preferences::obj().get<bool> (Preferences::ENABLE_WIKIWORDS)) {
 
957
    Glib::RefPtr<Gio::Settings> settings = Preferences::obj().get_schema_settings(
 
958
        Preferences::SCHEMA_GNOTE);
 
959
    if (settings->get_boolean(Preferences::ENABLE_WIKIWORDS)) {
959
960
      m_on_insert_text_cid = get_buffer()->signal_insert().connect(
960
961
        sigc::mem_fun(*this, &NoteWikiWatcher::on_insert_text));
961
962
      m_on_delete_range_cid = get_buffer()->signal_erase().connect(
962
963
        sigc::mem_fun(*this, &NoteWikiWatcher::on_delete_range));
963
964
    }
964
 
    Preferences::obj().signal_setting_changed()
 
965
    settings->signal_changed()
965
966
      .connect(sigc::mem_fun(*this, &NoteWikiWatcher::on_enable_wikiwords_changed));
966
967
  }
967
968
 
968
969
 
969
 
  void NoteWikiWatcher::on_enable_wikiwords_changed(Preferences *, GConfEntry * entry)
 
970
  void NoteWikiWatcher::on_enable_wikiwords_changed(const Glib::ustring & key)
970
971
  {
971
 
    const char * key = gconf_entry_get_key(entry);
972
 
    
973
 
    if (strcmp(key, Preferences::ENABLE_WIKIWORDS) != 0) {
 
972
    if(key != Preferences::ENABLE_WIKIWORDS) {
974
973
      return;
975
974
    }
976
 
    GConfValue * value = gconf_entry_get_value(entry);
977
 
    if (gconf_value_get_bool(value)) {
 
975
    bool value = Preferences::obj().get_schema_settings(
 
976
        Preferences::SCHEMA_GNOTE)->get_boolean(key);
 
977
    if (value) {
978
978
      m_on_insert_text_cid = get_buffer()->signal_insert().connect(
979
979
        sigc::mem_fun(*this, &NoteWikiWatcher::on_insert_text));
980
980
      m_on_delete_range_cid = get_buffer()->signal_erase().connect(
1008
1008
      Glib::ustring segment(p, p + len);
1009
1009
      start_cpy.forward_chars (segment.length());
1010
1010
 
 
1011
      end = start_cpy;
 
1012
      segment = match;
 
1013
      end.forward_chars (segment.length());
 
1014
 
 
1015
      if(get_note()->get_tag_table()->has_link_tag(start_cpy)) {
 
1016
        break;
 
1017
      }
 
1018
 
1011
1019
      DBG_OUT("Highlighting wikiword: '%s' at offset %d",
1012
1020
              match.c_str(), segment.length());
1013
1021
 
1014
 
      end = start_cpy;
1015
 
      segment = match;
1016
 
      end.forward_chars (segment.length());
1017
 
 
1018
1022
      if (!manager().find(match)) {
1019
1023
        get_buffer()->apply_tag (m_broken_link_tag, start_cpy, end);
1020
1024
      }
1039
1043
  ////////////////////////////////////////////////////////////////////////
1040
1044
 
1041
1045
  bool MouseHandWatcher::s_static_inited = false;
1042
 
  Gdk::Cursor MouseHandWatcher::s_normal_cursor;
1043
 
  Gdk::Cursor MouseHandWatcher::s_hand_cursor;
 
1046
  Glib::RefPtr<Gdk::Cursor> MouseHandWatcher::s_normal_cursor;
 
1047
  Glib::RefPtr<Gdk::Cursor> MouseHandWatcher::s_hand_cursor;
1044
1048
 
1045
1049
  void MouseHandWatcher::_init_static()
1046
1050
  {
1047
1051
    if(!s_static_inited) {
1048
 
      s_normal_cursor = Gdk::Cursor(Gdk::XTERM);
1049
 
      s_hand_cursor = Gdk::Cursor(Gdk::HAND2);
 
1052
      s_normal_cursor = Gdk::Cursor::create(Gdk::XTERM);
 
1053
      s_hand_cursor = Gdk::Cursor::create(Gdk::HAND2);
1050
1054
      s_static_inited = true;
1051
1055
    }
1052
1056
  }
1087
1091
    bool retval = false;
1088
1092
 
1089
1093
    switch (ev->keyval) {
1090
 
    case GDK_Shift_L:
1091
 
    case GDK_Shift_R:
1092
 
    case GDK_Control_L:
1093
 
    case GDK_Control_R:
 
1094
    case GDK_KEY_Shift_L:
 
1095
    case GDK_KEY_Shift_R:
 
1096
    case GDK_KEY_Control_L:
 
1097
    case GDK_KEY_Control_R:
1094
1098
    {
1095
1099
      // Control or Shift when hovering over a link
1096
1100
      // swiches to a bar cursor...
1102
1106
      win->set_cursor(s_normal_cursor);
1103
1107
      break;
1104
1108
    }
1105
 
    case GDK_Return:
1106
 
    case GDK_KP_Enter:
 
1109
    case GDK_KEY_Return:
 
1110
    case GDK_KEY_KP_Enter:
1107
1111
    {
1108
1112
      Gtk::TextIter iter = get_buffer()->get_iter_at_mark (get_buffer()->get_insert());
1109
1113
 
1134
1138
  {
1135
1139
    bool retval = false;
1136
1140
    switch (ev->keyval) {
1137
 
    case GDK_Shift_L:
1138
 
    case GDK_Shift_R:
1139
 
    case GDK_Control_L:
1140
 
    case GDK_Control_R:
 
1141
    case GDK_KEY_Shift_L:
 
1142
    case GDK_KEY_Shift_R:
 
1143
    case GDK_KEY_Control_L:
 
1144
    case GDK_KEY_Control_R:
1141
1145
    {
1142
1146
      if (!m_hovering_on_link)
1143
1147
        break;