~midori/midori/trunk

« back to all changes in this revision

Viewing changes to midori/midori-browser.c

  • Committer: Tarmac
  • Author(s): André Auzi
  • Date: 2013-09-18 16:20:51 UTC
  • mfrom: (6319.3.4 fix-1179200-5)
  • Revision ID: tarmac-20130918162051-n73z21hwk1dju69u
Introduces KatzeArray::update-item to handle metadata changes

Show diffs side-by-side

added added

removed removed

Lines of Context:
87
87
 
88
88
    MidoriWebSettings* settings;
89
89
    KatzeArray* proxy_array;
90
 
    KatzeArray* bookmarks;
 
90
    MidoriBookmarksDb* bookmarks;
91
91
    KatzeArray* trash;
92
92
    KatzeArray* search_engines;
93
93
    KatzeArray* history;
195
195
                                GtkToolbarStyle style);
196
196
 
197
197
static void
198
 
midori_browser_set_bookmarks (MidoriBrowser* browser,
199
 
                              KatzeArray*    bookmarks);
 
198
midori_browser_set_bookmarks (MidoriBrowser*     browser,
 
199
                              MidoriBookmarksDb* bookmarks);
200
200
 
201
201
static void
202
202
midori_browser_add_speed_dial (MidoriBrowser* browser);
863
863
}
864
864
 
865
865
static GtkWidget*
866
 
midori_bookmark_folder_button_new (KatzeArray* array,
 
866
midori_bookmark_folder_button_new (MidoriBookmarksDb* array,
867
867
                                   gint64      selected_parentid)
868
868
{
869
869
    GtkTreeStore* model;
1231
1231
        katze_item_set_meta_integer (bookmark, "parentid", selected);
1232
1232
 
1233
1233
        if (new_bookmark)
1234
 
            katze_array_add_item (browser->bookmarks, bookmark);
 
1234
            midori_bookmarks_db_add_item (browser->bookmarks, bookmark);
1235
1235
        else
1236
 
        {
1237
 
            midori_array_update_item (browser->bookmarks, bookmark);
1238
 
            midori_browser_update_history (bookmark, "bookmark", "modify");
1239
 
 
1240
 
            if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (check_toolbar)))
1241
 
                if (!gtk_widget_get_visible (browser->bookmarkbar))
1242
 
                    _action_set_active (browser, "Bookmarkbar", TRUE);
1243
 
            if (gtk_widget_get_visible (browser->bookmarkbar))
1244
 
                midori_bookmarkbar_populate (browser);
1245
 
        }
 
1236
            midori_bookmarks_db_update_item (browser->bookmarks, bookmark);
1246
1237
 
1247
1238
        return_status = TRUE;
1248
1239
    }
2545
2536
                                     "bookmarks",
2546
2537
                                     "Bookmarks",
2547
2538
                                     "The bookmarks folder, containing all bookmarks",
2548
 
                                     KATZE_TYPE_ARRAY,
 
2539
                                     TYPE_MIDORI_BOOKMARKS_DB,
2549
2540
                                     G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
2550
2541
 
2551
2542
    /**
3273
3264
    else
3274
3265
        condition = "parentid = %q";
3275
3266
 
3276
 
    bookmarks = midori_array_query_recursive  (browser->bookmarks,
3277
 
                                                 "id, title, parentid, uri, app, pos_panel, pos_bar", condition, id, FALSE);
 
3267
    bookmarks = midori_bookmarks_db_query_recursive (browser->bookmarks,
 
3268
        "id, title, parentid, uri, app, pos_panel, pos_bar", condition, id, FALSE);
3278
3269
    if (!bookmarks)
3279
3270
        return FALSE;
3280
3271
 
4308
4299
    KatzeItem* item;
4309
4300
 
4310
4301
    item = (KatzeItem*)g_object_get_data (G_OBJECT (menuitem), "KatzeItem");
4311
 
    katze_array_remove_item (browser->bookmarks, item);
 
4302
    midori_bookmarks_db_remove_item (browser->bookmarks, item);
4312
4303
}
4313
4304
 
4314
4305
static void
4320
4311
    MidoriContextAction* menu = midori_context_action_new ("BookmarkContextMenu", NULL, NULL, NULL);
4321
4312
    if (KATZE_ITEM_IS_FOLDER (item))
4322
4313
    {
4323
 
        gint child_bookmarks_count = midori_array_count_recursive (browser->bookmarks,
 
4314
        gint child_bookmarks_count = midori_bookmarks_db_count_recursive (browser->bookmarks,
4324
4315
            "uri <> ''", NULL, item, FALSE);
4325
4316
 
4326
4317
        GtkAction* action = gtk_action_new ("BookmarkOpenAllTabs", _("Open all in _Tabs"), NULL, STOCK_TAB_NEW);
4590
4581
            if (error)
4591
4582
                g_error_free (error);
4592
4583
        }
4593
 
        midori_bookmarks_import_array (browser->bookmarks, bookmarks, selected);
4594
 
 
 
4584
        midori_bookmarks_db_import_array (browser->bookmarks, bookmarks, selected);
4595
4585
        g_object_unref (bookmarks);
4596
4586
        g_free (path);
4597
4587
    }
4645
4635
        return;
4646
4636
 
4647
4637
    error = NULL;
4648
 
    bookmarks = midori_array_query_recursive (browser->bookmarks,
 
4638
    bookmarks = midori_bookmarks_db_query_recursive (browser->bookmarks,
4649
4639
        "*", "parentid IS NULL", NULL, TRUE);
4650
4640
    if (!midori_array_to_file (bookmarks, path, format, &error))
4651
4641
    {
7060
7050
}
7061
7051
 
7062
7052
static void
 
7053
midori_bookmarkbar_update_item_cb (KatzeArray*    bookmarks,
 
7054
                                   KatzeItem*     item,
 
7055
                                   MidoriBrowser* browser)
 
7056
{
 
7057
    if (gtk_widget_get_visible (browser->bookmarkbar))
 
7058
        midori_bookmarkbar_populate (browser);
 
7059
    midori_browser_update_history (item, "bookmark", "modify");
 
7060
}
 
7061
 
 
7062
static void
7063
7063
midori_bookmarkbar_remove_item_cb (KatzeArray*    bookmarks,
7064
7064
                                   KatzeItem*     item,
7065
7065
                                   MidoriBrowser* browser)
7091
7091
    gtk_toolbar_insert (GTK_TOOLBAR (browser->bookmarkbar),
7092
7092
                        gtk_separator_tool_item_new (), -1);
7093
7093
 
7094
 
    array = midori_array_query_recursive  (browser->bookmarks,
7095
 
                                             "id, parentid, title, uri, desc, app, toolbar, pos_panel, pos_bar", "toolbar = 1", NULL, FALSE);
 
7094
    array = midori_bookmarks_db_query_recursive (browser->bookmarks,
 
7095
        "id, parentid, title, uri, desc, app, toolbar, pos_panel, pos_bar", "toolbar = 1", NULL, FALSE);
7096
7096
    if (!array)
7097
7097
    {
7098
7098
        _action_set_sensitive (browser, "BookmarkAdd", FALSE);
7132
7132
 
7133
7133
static void
7134
7134
midori_browser_set_bookmarks (MidoriBrowser* browser,
7135
 
                              KatzeArray*    bookmarks)
 
7135
                              MidoriBookmarksDb*    bookmarks)
7136
7136
{
7137
7137
    MidoriWebSettings* settings;
7138
7138
 
7141
7141
        g_signal_handlers_disconnect_by_func (browser->bookmarks,
7142
7142
            midori_bookmarkbar_add_item_cb, browser);
7143
7143
        g_signal_handlers_disconnect_by_func (browser->bookmarks,
 
7144
            midori_bookmarkbar_update_item_cb, browser);
 
7145
        g_signal_handlers_disconnect_by_func (browser->bookmarks,
7144
7146
            midori_bookmarkbar_remove_item_cb, browser);
7145
7147
    }
7146
7148
 
7174
7176
    g_object_notify (G_OBJECT (settings), "show-bookmarkbar");
7175
7177
    g_signal_connect_after (bookmarks, "add-item",
7176
7178
        G_CALLBACK (midori_bookmarkbar_add_item_cb), browser);
 
7179
    g_signal_connect_after (bookmarks, "update-item",
 
7180
        G_CALLBACK (midori_bookmarkbar_update_item_cb), browser);
7177
7181
    g_signal_connect_after (bookmarks, "remove-item",
7178
7182
        G_CALLBACK (midori_bookmarkbar_remove_item_cb), browser);
7179
7183
}