Commit 195f0fa4 authored by karol@jagiello.it's avatar karol@jagiello.it
Browse files

bump to 1.6

parent ce87fdc2
FIXES:
deny Drag&drop tab to root of folders
"Never show close button" option was breaking theme preview/editor
closing pinned tabs did not resize area of pinned tabs, leaving empty space below
added "bookmark" menu for single tab
clone pinned tab was added as not pinned (only in Firefox)
Shortcut changed to Ctrl+F2
export session file has now date as a name
instruction to add popup
line for children hierarchy (like at the beggining)
"undo close" as a possible action with middle click on empty space
DRAG&DROP TO ANOTHER WINDOW OF THE ENTIRE GROUP
undo close to restore trees (will work ONLY in firefox)
Close tab on Middle mouse click and not On Middle mouse down
Split Pin size in theme
......@@ -23,8 +42,6 @@ menu: Unload other
sort tabs/tree
maybe filter tabs on search
make tabs border width configurable, including size 0
make tab spacing configurable, including 0 size
font size
hibernate group
......
{"ToolbarShow":true,"ColorsSet":{"group_list_button_hover_background":"#000000","tab_list_background":"#000000","group_list_background":"#000000","attention_background":"#ffd6ce","pin_list_background":"#000000","tab_background":"#1e1e1e","tab_hover_border":"#878787","tab_border":"#bebebe","tab_title_font_style":"italic","tab_title_font_color":"#b7b7b7","close_x":"#7d7d7d","tab_hover_background":"#717171","tab_hover_title_font_color":"#ffffff","tab_discarded_background":"#4c4c4c","tab_discarded_title_font_color":"#b9b9b9"},"TabsSizeSetNumber":2,"TabsMargins":"2","theme_name":"Dark","theme_version":3,"toolbar":"<div id=toolbar_main><div class=button id=button_new><div class=button_img></div></div><div class=button id=button_pin><div class=button_img></div></div><div class=button id=button_undo><div class=button_img></div></div><div class=button id=button_search><div class=button_img></div></div><div class=button id=button_tools><div class=button_img></div></div><div class=button id=button_groups><div class=button_img></div></div><div class=button id=button_backup><div class=button_img></div></div><div class=button id=button_folders><div class=button_img></div></div></div><div class=toolbar_shelf id=toolbar_search><div id=toolbar_search_input_box><input id=filter_box type=text placeholder=Search tabs...></input><div id=button_filter_clear style=\"opacity:0; position:absolute;\" type=reset></div></div><div id=toolbar_search_buttons><div class=button id=button_filter_type><div class=button_img></div></div><div class=button id=filter_search_go_prev><div class=button_img></div></div><div class=button id=filter_search_go_next><div class=button_img></div></div></div></div><div class=toolbar_shelf id=toolbar_shelf_tools><div class=button id=button_options><div class=button_img></div></div><div class=button id=button_unload><div class=button_img></div></div><div class=button id=button_detach><div class=button_img></div></div></div><div class=toolbar_shelf id=toolbar_shelf_groups><div class=button id=button_groups_toolbar_hide><div class=button_img></div></div><div class=button id=button_new_group><div class=button_img></div></div><div class=button id=button_remove_group><div class=button_img></div></div><div class=button id=button_edit_group><div class=button_img></div></div><div class=button id=button_import_group><div class=button_img></div></div><div class=button id=button_export_group><div class=button_img></div></div></div><div class=toolbar_shelf id=toolbar_shelf_backup><div class=button id=button_import_bak><div class=button_img></div></div><div class=button id=button_import_merge_bak><div class=button_img></div></div><div class=button id=button_export_bak><div class=button_img></div></div></div><div class=toolbar_shelf id=toolbar_shelf_folders><div class=button id=button_new_folder><div class=button_img></div></div><div class=button id=button_remove_folder><div class=button_img></div></div><div class=button id=button_edit_folder><div class=button_img></div></div></div>","unused_buttons":""}
\ No newline at end of file
{"ColorsSet":{"attention_background":"#cf4010","attention_border":"#cf4010","button_background":"#3b3a35","button_border":"#3b3a35","button_hover_background":"#35342f","button_hover_border":"#35342f","button_icons":"#9e9e9e","button_icons_hover":"#9e9e9e","button_on_background":"#494843","button_on_icons":"#9e9e9e","button_shelf_background":"#494843","button_shelf_border":"#494843","button_shelf_hover_background":"#41403b","button_shelf_hover_border":"#41403b","button_shelf_icons":"#9e9e9e","button_shelf_icons_hover":"#9e9e9e","children_padding_left":"11px","close_hover_background":"#656460","close_hover_border":"#656460","close_hover_x":"#fbfcfe","close_x":"#dddddd","drag_indicator":"#ffa500","expand_closed_background":"#dbdbdb","expand_hover_background":"#f08e60","expand_open_background":"#9e9e9e","filter_box_background":"#35342f","filter_box_border":"#2b2a26","filter_box_font":"#adadad","filter_clear_icon":"#adadad","folder_icon_closed":"#818181","folder_icon_hover":"#f08e60","folder_icon_open":"#9e9e9e","group_list_background":"#3b3a35","group_list_borders":"#2b2a26","group_list_button_hover_background":"#35342f","group_list_default_font_color":"#b1b1b1","pin_list_background":"#494843","pin_list_border_bottom":"#292929","scrollbar_height":"11px","scrollbar_thumb":"#525049","scrollbar_thumb_hover":"#2b2a26","scrollbar_track":"#45443f","scrollbar_width":"12px","tab_active_background":"#ed773d","tab_active_border":"#ed773d","tab_active_hover_background":"#e95421","tab_active_hover_border":"#e95421","tab_active_hover_title_font_color":"#e5e5e5","tab_active_hover_title_font_weight":"bold","tab_active_selected_background":"#3f7ebe","tab_active_selected_border":"#3f7ebe","tab_active_selected_title_font_color":"#e8e8e8","tab_active_selected_title_font_weight":"normal","tab_active_title_font_color":"#e5e5e5","tab_active_title_font_weight":"bold","tab_background":"#52514b","tab_border":"#52514b","tab_discarded_background":"#52514b","tab_discarded_border":"#52514b","tab_discarded_hover_background":"#41403b","tab_discarded_hover_border":"#41403b","tab_discarded_hover_title_font_color":"#9e9e9e","tab_filtered":"#827e00","tab_filtered_active_border":"#d2cb00","tab_filtered_active_highlighted_search_border":"#ed9900","tab_filtered_active_highlighted_search_hover_border":"#c68100","tab_filtered_active_hover_border":"#d2cb00","tab_filtered_active_hover_title_font_color":"#919191","tab_filtered_active_hover_title_font_weight":"normal","tab_filtered_active_title_font_color":"#919191","tab_filtered_active_title_font_weight":"normal","tab_filtered_border":"#e8e000","tab_filtered_highlighted":"#b37400","tab_filtered_highlighted_search_border":"#ed9900","tab_filtered_highlighted_search_hover_border":"#c68100","tab_filtered_hover_border":"#d2cb00","tab_filtered_selected":"#0f8079","tab_filtered_selected_active":"#1299a9","tab_filtered_selected_active_border":"#0f8079","tab_filtered_selected_active_highlighted_search_border":"#ed9900","tab_filtered_selected_active_highlighted_search_hover_background":"#c68100","tab_filtered_selected_active_highlighted_search_hover_border":"#c68100","tab_filtered_selected_active_hover_border":"#0d6d67","tab_filtered_selected_active_hover_title_font_color":"#cfcfcf","tab_filtered_selected_active_hover_title_font_weight":"normal","tab_filtered_selected_active_title_font_color":"#cfcfcf","tab_filtered_selected_active_title_font_weight":"normal","tab_filtered_selected_border":"#0f8079","tab_filtered_selected_highlighted_search_border":"#ed9900","tab_filtered_selected_highlighted_search_hover_border":"#c68100","tab_filtered_selected_hover_border":"#0d6d67","tab_header_border_radius":"0px","tab_hover_background":"#41403b","tab_hover_border":"#41403b","tab_hover_title_font_color":"#c1c1c1","tab_hover_title_font_weight":"normal","tab_list_background":"#494843","tab_selected_active_hover_background":"#356a9f","tab_selected_active_hover_border":"#356a9f","tab_selected_active_hover_title_font_color":"#e8e8e8","tab_selected_active_hover_title_font_weight":"normal","tab_selected_background":"#3f7ebe","tab_selected_border":"#3f7ebe","tab_selected_discarded_background":"#2e5c8b","tab_selected_discarded_border":"#2e5c8b","tab_selected_discarded_hover_background":"#25496d","tab_selected_discarded_hover_border":"#25496d","tab_selected_discarded_title_font_color":"#9e9e9e","tab_selected_hover_background":"#356a9f","tab_selected_hover_border":"#356a9f","tab_selected_hover_title_font_color":"#c7c7c7","tab_selected_hover_title_font_weight":"normal","tab_selected_title_font_color":"#c1c1c1","tab_selected_title_font_weight":"normal","tab_title":"#adadad","tab_title_active":"#cacaca","tab_title_discarded":"#7e7e7e","tab_title_font_color":"#c1c1c1","tab_title_font_style":"normal","tab_title_font_weight":"normal","tabs_menu_background":"#494843","tabs_menu_border":"#3b3a35","tabs_menu_font":"#bfbfbf","tabs_menu_hover_background":"#41403b","tabs_menu_hover_border":"#41403b","tabs_menu_separator":"#3b3a35","toolbar_background":"#3b3a35","toolbar_border_bottom":"#2b2a26","toolbar_shelf_background":"#494843"},"TabsMargins":"2","TabsSizeSetNumber":3,"ToolbarShow":true,"theme_name":"Vivaldi Human","theme_version":4}
\ No newline at end of file
{"ColorsSet":{"attention_background":"#cf4010","attention_border":"#cf4010","button_background":"#303030","button_border":"#303030","button_hover_background":"#414141","button_hover_border":"#414141","button_icons":"#9e9e9e","button_icons_hover":"#ffa500","button_on_background":"#3b3b3b","button_on_icons":"#339bf3","button_shelf_background":"#3b3b3b","button_shelf_border":"#3b3b3b","button_shelf_hover_background":"#2e2e2e","button_shelf_hover_border":"#2e2e2e","button_shelf_icons":"#9e9e9e","button_shelf_icons_hover":"#ffa500","children_padding_left":"11px","close_hover_background":"#ffa500","close_hover_border":"#ffa500","close_hover_x":"#fbfcfe","close_x":"#dddddd","drag_indicator":"#ffa500","expand_closed_background":"#818181","expand_open_background":"#339bf3","filter_box_background":"#303030","filter_box_border":"#3b3b3b","filter_box_font":"#adadad","filter_clear_icon":"#adadad","folder_icon_closed":"#818181","folder_icon_open":"#339bf3","group_list_background":"#303030","group_list_borders":"#292929","group_list_button_hover_background":"#414141","group_list_default_font_color":"#b1b1b1","pin_list_background":"#3b3b3b","pin_list_border_bottom":"#292929","scrollbar_height":"11px","scrollbar_thumb":"#484848","scrollbar_thumb_hover":"#ffa500","scrollbar_track":"#303030","scrollbar_width":"12px","tab_active_background":"#339bf3","tab_active_border":"#339bf3","tab_active_hover_background":"#378dec","tab_active_hover_border":"#378dec","tab_active_hover_title_font_color":"#e5e5e5","tab_active_hover_title_font_weight":"bold","tab_active_selected_background":"#3f7ebe","tab_active_selected_border":"#3f7ebe","tab_active_selected_title_font_color":"#e8e8e8","tab_active_selected_title_font_weight":"normal","tab_active_title_font_color":"#e5e5e5","tab_active_title_font_weight":"bold","tab_background":"#3b3b3b","tab_border":"#3b3b3b","tab_discarded_background":"#3b3b3b","tab_discarded_border":"#3b3b3b","tab_discarded_hover_background":"#353535","tab_discarded_hover_border":"#353535","tab_discarded_hover_title_font_color":"#9e9e9e","tab_filtered":"#827e00","tab_filtered_active_border":"#d2cb00","tab_filtered_active_highlighted_search_border":"#ed9900","tab_filtered_active_highlighted_search_hover_border":"#c68100","tab_filtered_active_hover_border":"#d2cb00","tab_filtered_active_hover_title_font_color":"#919191","tab_filtered_active_hover_title_font_weight":"normal","tab_filtered_active_title_font_color":"#919191","tab_filtered_active_title_font_weight":"normal","tab_filtered_border":"#e8e000","tab_filtered_highlighted":"#b37400","tab_filtered_highlighted_search_border":"#ed9900","tab_filtered_highlighted_search_hover_border":"#c68100","tab_filtered_hover_border":"#d2cb00","tab_filtered_selected":"#0f8079","tab_filtered_selected_active":"#1299a9","tab_filtered_selected_active_border":"#0f8079","tab_filtered_selected_active_highlighted_search_border":"#ed9900","tab_filtered_selected_active_highlighted_search_hover_background":"#c68100","tab_filtered_selected_active_highlighted_search_hover_border":"#c68100","tab_filtered_selected_active_hover_border":"#0d6d67","tab_filtered_selected_active_hover_title_font_color":"#cfcfcf","tab_filtered_selected_active_hover_title_font_weight":"normal","tab_filtered_selected_active_title_font_color":"#cfcfcf","tab_filtered_selected_active_title_font_weight":"normal","tab_filtered_selected_border":"#0f8079","tab_filtered_selected_highlighted_search_border":"#ed9900","tab_filtered_selected_highlighted_search_hover_border":"#c68100","tab_filtered_selected_hover_border":"#0d6d67","tab_header_border_radius":"0px","tab_hover_background":"#353535","tab_hover_border":"#353535","tab_hover_title_font_color":"#c1c1c1","tab_hover_title_font_weight":"normal","tab_list_background":"#3b3b3b","tab_selected_active_hover_background":"#356a9f","tab_selected_active_hover_border":"#356a9f","tab_selected_active_hover_title_font_color":"#e8e8e8","tab_selected_active_hover_title_font_weight":"normal","tab_selected_background":"#3f7ebe","tab_selected_border":"#3f7ebe","tab_selected_discarded_background":"#2e5c8b","tab_selected_discarded_border":"#2e5c8b","tab_selected_discarded_hover_background":"#25496d","tab_selected_discarded_hover_border":"#25496d","tab_selected_discarded_title_font_color":"#9e9e9e","tab_selected_hover_background":"#356a9f","tab_selected_hover_border":"#356a9f","tab_selected_hover_title_font_color":"#c7c7c7","tab_selected_hover_title_font_weight":"normal","tab_selected_title_font_color":"#c1c1c1","tab_selected_title_font_weight":"normal","tab_title":"#adadad","tab_title_active":"#cacaca","tab_title_discarded":"#7e7e7e","tab_title_font_color":"#c1c1c1","tab_title_font_style":"normal","tab_title_font_weight":"normal","tabs_menu_background":"#484848","tabs_menu_border":"#616161","tabs_menu_font":"#bfbfbf","tabs_menu_hover_background":"#353535","tabs_menu_hover_border":"#353535","tabs_menu_separator":"#616161","toolbar_background":"#303030","toolbar_border_bottom":"#292929","toolbar_shelf_background":"#3b3b3b"},"TabsMargins":"1","TabsSizeSetNumber":2,"ToolbarShow":true,"theme_name":"dark flat 2 with colors by kroppy","theme_version":4}
\ No newline at end of file
{"ToolbarShow":true,"ColorsSet":{"attention_background":"#b7b7b7","attention_border":"#b7b7b7","button_background":"#333333","button_border":"#333333","button_hover_background":"#4f4f4f","button_hover_border":"#4f4f4f","button_icons":"#c3c3c3","button_icons_hover":"#c3c3c3","button_on_background":"#555555","button_on_icons":"#c3c3c3","button_shelf_background":"#555555","button_shelf_border":"#555555","button_shelf_hover_background":"#4a4a4a","button_shelf_hover_border":"#4a4a4a","button_shelf_icons":"#c3c3c3","button_shelf_icons_hover":"#c3c3c3","children_padding_left":"11px","close_hover_background":"#939394","close_hover_border":"#757676","close_hover_x":"#fbfcfe","close_x":"#dddddd","drag_indicator":"#acacac","expand_closed_background":"#ebebeb","expand_closed_border":"#818181","expand_hover_background":"#ebebeb","expand_lines":"#9d9d9d","expand_open_background":"#bfbfbf","expand_open_border":"#339bf3","filter_box_background":"#333333","filter_box_border":"#797979","filter_box_font":"#adadad","filter_clear_icon":"#adadad","folder_icon_closed":"#d2d2d2","folder_icon_hover":"#ebebeb","folder_icon_open":"#d2d2d2","group_list_background":"#333333","group_list_borders":"#282828","group_list_button_hover_background":"#4f4f4f","group_list_default_font_color":"#dfdfdf","pin_list_background":"#555555","pin_list_border_bottom":"#1f1f1f","scrollbar_height":"11px","scrollbar_thumb":"#5c5c5c","scrollbar_thumb_hover":"#2e2e2e","scrollbar_track":"#3e3e3e","scrollbar_width":"12px","tab_active_background":"#a0a0a0","tab_active_border":"#969696","tab_active_hover_background":"#747474","tab_active_hover_border":"#747474","tab_active_hover_title_font_color":"#f8f8f8","tab_active_hover_title_font_weight":"bold","tab_active_selected_background":"#858585","tab_active_selected_border":"#858585","tab_active_selected_title_font_color":"#e8e8e8","tab_active_selected_title_font_weight":"bold","tab_active_title_font_color":"#f7f7f7","tab_active_title_font_style":"normal","tab_active_title_font_weight":"bold","tab_background":"#626262","tab_border":"#626262","tab_discarded_background":"#626262","tab_discarded_border":"#626262","tab_discarded_hover_background":"#353535","tab_discarded_hover_border":"#353535","tab_discarded_hover_title_font_color":"#9e9e9e","tab_filtered":"#827e00","tab_filtered_active_border":"#d2cb00","tab_filtered_active_highlighted_search_border":"#ed9900","tab_filtered_active_highlighted_search_hover_border":"#c68100","tab_filtered_active_hover_border":"#d2cb00","tab_filtered_active_hover_title_font_color":"#919191","tab_filtered_active_hover_title_font_weight":"normal","tab_filtered_active_title_font_color":"#919191","tab_filtered_active_title_font_weight":"normal","tab_filtered_border":"#e8e000","tab_filtered_highlighted":"#b37400","tab_filtered_highlighted_search_border":"#ed9900","tab_filtered_highlighted_search_hover_border":"#c68100","tab_filtered_hover_border":"#d2cb00","tab_filtered_selected":"#0f8079","tab_filtered_selected_active":"#1299a9","tab_filtered_selected_active_border":"#0f8079","tab_filtered_selected_active_highlighted_search_border":"#ed9900","tab_filtered_selected_active_highlighted_search_hover_background":"#c68100","tab_filtered_selected_active_highlighted_search_hover_border":"#c68100","tab_filtered_selected_active_hover_border":"#0d6d67","tab_filtered_selected_active_hover_title_font_color":"#cfcfcf","tab_filtered_selected_active_hover_title_font_weight":"normal","tab_filtered_selected_active_title_font_color":"#cfcfcf","tab_filtered_selected_active_title_font_weight":"normal","tab_filtered_selected_border":"#0f8079","tab_filtered_selected_highlighted_search_border":"#ed9900","tab_filtered_selected_highlighted_search_hover_border":"#c68100","tab_filtered_selected_hover_border":"#0d6d67","tab_header_border_radius":"0px","tab_hover_background":"#353535","tab_hover_border":"#353535","tab_hover_title_font_color":"#d1d1d1","tab_hover_title_font_weight":"normal","tab_list_background":"#555555","tab_selected_active_hover_background":"#4f4f4f","tab_selected_active_hover_border":"#4f4f4f","tab_selected_active_hover_title_font_color":"#e8e8e8","tab_selected_active_hover_title_font_weight":"bold","tab_selected_background":"#858585","tab_selected_border":"#858585","tab_selected_discarded_background":"#858585","tab_selected_discarded_border":"#858585","tab_selected_discarded_hover_background":"#747474","tab_selected_discarded_hover_border":"#747474","tab_selected_discarded_hover_title_font_color":"#282828","tab_selected_discarded_title_font_color":"#444444","tab_selected_hover_background":"#4f4f4f","tab_selected_hover_border":"#4f4f4f","tab_selected_hover_title_font_color":"#d1d1d1","tab_selected_hover_title_font_weight":"normal","tab_selected_title_font_color":"#d1d1d1","tab_selected_title_font_weight":"normal","tab_title":"#adadad","tab_title_active":"#cacaca","tab_title_discarded":"#7e7e7e","tab_title_font_color":"#d1d1d1","tab_title_font_style":"normal","tab_title_font_weight":"normal","tabs_menu_background":"#484848","tabs_menu_border":"#616161","tabs_menu_font":"#bfbfbf","tabs_menu_hover_background":"#353535","tabs_menu_hover_border":"#353535","tabs_menu_separator":"#616161","toolbar_background":"#333333","toolbar_border_bottom":"#282828","toolbar_shelf_background":"#555555","tab_discarded_title_font_color":"#1a1a1a"},"TabsSizeSetNumber":2,"TabsMargins":"2","theme_name":"opera dark","theme_version":4}
\ No newline at end of file
......@@ -6,4 +6,5 @@
<script type="text/javascript" src="../legacy.js"></script>
<script type="text/javascript" src="../bg_ch.js"></script>
<script type="text/javascript" src="../bg_ff.js"></script>
<script type="text/javascript" src="../init.js"></script>
</html>
\ No newline at end of file
// Copyright (c) 2017 kroppy. All rights reserved.
// Use of this source code is governed by a Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license
// that can be found at https://creativecommons.org/licenses/by-nc-nd/4.0/
document.addEventListener("DOMContentLoaded", Init(), false);
function Init() {
if (browserId == "F") {
FirefoxMessageListeners();
FirefoxStart(0);
} else {
// ConvertLegacyStorage();
ChromeMessageListeners();
ChromeLoadTabs(0);
}
}
......@@ -14,7 +14,7 @@
"19": "icons/16.png",
"16": "icons/16.png"
},
"permissions": [ "tabs", "sessions", "<all_urls>", "storage", "bookmarks" ],
"permissions": [ "tabs", "sessions", "<all_urls>", "storage", "unlimitedStorage", "bookmarks", "tabHide" ],
"sidebar_action": {
"default_icon": {
......
......@@ -4,4 +4,5 @@
<body></body>
<script type="text/javascript" src="../scripts/global.js"></script>
<script type="text/javascript" src="../bg_ff.js"></script>
<script type="text/javascript" src="../init.js"></script>
</html>
\ No newline at end of file
// Copyright (c) 2017 kroppy. All rights reserved.
// Use of this source code is governed by a Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license
// that can be found at https://creativecommons.org/licenses/by-nc-nd/4.0/
document.addEventListener("DOMContentLoaded", Init(), false);
function Init() {
setTimeout(function() {
FirefoxMessageListeners();
FirefoxStart(0);
}, 500);
}
\ No newline at end of file
......@@ -14,7 +14,7 @@
"19": "icons/16.png",
"16": "icons/16.png"
},
"permissions": [ "tabs", "sessions", "<all_urls>", "storage", "bookmarks" ],
"permissions": [ "tabs", "sessions", "<all_urls>", "storage", "unlimitedStorage", "bookmarks", "tabHide" ],
"sidebar_action": {
"default_icon": {
"16": "icons/16.png",
......@@ -30,7 +30,7 @@
},
"commands": {
"_execute_browser_action": {
"suggested_key": { "default": "F2" },
"suggested_key": { "default": "Ctrl+F2" },
"description": "toggle Tree Tabs"
}
},
......@@ -44,5 +44,5 @@
"page": "options.html",
"open_in_tab": true
},
"version": "1.5.1"
"version": "1.6.0"
}
\ No newline at end of file
......@@ -5,4 +5,5 @@
<script type="text/javascript" src="../scripts/global.js"></script>
<script type="text/javascript" src="../legacy.js"></script>
<script type="text/javascript" src="../bg_ch.js"></script>
<script type="text/javascript" src="../init.js"></script>
</html>
\ No newline at end of file
// Copyright (c) 2017 kroppy. All rights reserved.
// Use of this source code is governed by a Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license
// that can be found at https://creativecommons.org/licenses/by-nc-nd/4.0/
document.addEventListener("DOMContentLoaded", Init(), false);
function Init() {
ConvertLegacyStorage();
ChromeMessageListeners();
ChromeLoadTabs(0);
}
......@@ -15,7 +15,7 @@
"19": "icons/16.png",
"16": "icons/16.png"
},
"permissions": [ "tabs", "sessions", "<all_urls>", "storage", "bookmarks" ],
"permissions": [ "tabs", "sessions", "<all_urls>", "storage", "unlimitedStorage", "bookmarks" ],
"sidebar_action": {
"default_icon": {
"19": "icons/16.png",
......@@ -25,5 +25,5 @@
"default_title": "Tree Tabs"
},
"options_page": "options.html",
"version": "1.0"
"version": "1.6.0"
}
......@@ -4,4 +4,5 @@
<body></body>
<script type="text/javascript" src="../scripts/global.js"></script>
<script type="text/javascript" src="../bg_ch.js"></script>
<script type="text/javascript" src="../init.js"></script>
</html>
\ No newline at end of file
// Copyright (c) 2017 kroppy. All rights reserved.
// Use of this source code is governed by a Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license
// that can be found at https://creativecommons.org/licenses/by-nc-nd/4.0/
document.addEventListener("DOMContentLoaded", Init(), false);
function Init() {
ChromeMessageListeners();
ChromeLoadTabs(0);
}
......@@ -14,10 +14,10 @@
"19": "icons/16.png",
"16": "icons/16.png"
},
"permissions": [ "tabs", "sessions", "<all_urls>", "storage", "bookmarks" ],
"permissions": [ "tabs", "sessions", "<all_urls>", "storage", "unlimitedStorage", "bookmarks" ],
"options_ui": {
"page": "options.html",
"open_in_tab": false
},
"version": "1.5"
"version": "1.6.0"
}
......@@ -2,6 +2,13 @@
// Use of this source code is governed by a Attribution-NonCommercial-NoDerivatives 4.0 International (CC BY-NC-ND 4.0) license
// that can be found at https://creativecommons.org/licenses/by-nc-nd/4.0/
if (localStorage.getItem("t0") != null){
LoadV015(0);
}
function OldHashTab(tab){
if (tabs[tab.id] == undefined){
tabs[tab.id] = {ttid: "", hash: 0, h: 0, parent: tab.pinned ? "pin_list" : "tab_list", index: tab.index, expand: ""};
......@@ -77,23 +84,15 @@ function LoadV015(retry){
}
}
if (browserId == "F") {
// append ids to firefox tabs
qtabs.forEach(function(Tab){
AppendTabTTId(Tab.id);
});
qtabs.forEach(function(Tab){
tabs_to_save.push({id: Tab.id, ttid: tabs[tabId].ttid, parent: tabs[Tab.id].parent, index: tabs[Tab.id].index, expand: tabs[Tab.id].expand});
});
} else {
// create new hashes
qtabs.forEach(function(Tab){
ChromeHashURL(Tab);
});
qtabs.forEach(function(Tab){
tabs_to_save.push({id: Tab.id, hash: tabs[Tab.id].hash, parent: tabs[Tab.id].parent, index: tabs[Tab.id].index, expand: tabs[Tab.id].expand});
});
}
// create new hashes
qtabs.forEach(function(Tab){
ChromeHashURL(Tab);
});
qtabs.forEach(function(Tab){
tabs_to_save.push({id: Tab.id, hash: tabs[Tab.id].hash, parent: tabs[Tab.id].parent, index: tabs[Tab.id].index, expand: tabs[Tab.id].expand});
});
localStorage["t_count"] = JSON.stringify(qtabs.length);
localStorage["tabs"] = JSON.stringify(tabs_to_save);
for (var t = 0; t < 9999; t++){
......@@ -101,152 +100,7 @@ function LoadV015(retry){
localStorage.removeItem("t"+t);
}
}
window.location.reload();
});
}
function FirefoxLoadV100(retry) {
chrome.windows.getAll({windowTypes: ["normal"], populate: true}, function(w) {
var refTabs = {};
var tabs_matched = 0;
var tabs_count = 0;
for (var wIndex = 0; wIndex < w.length; wIndex++) {
tabs_count += w[wIndex].tabs.length;
}
// load tabs and windows from hdd
var LoadedWindows = LoadData("windows", []);
var LoadedTabs = LoadData("tabs", []);
// if loaded tabs mismatch by 50%, then try to load back
if (LoadedTabs.length < tabs_count*0.5 || retry > 0) {
LoadedTabs = LoadData("tabs_BAK"+retry, []);
}
// if loaded windows mismatch, then try to load back
if (LoadedWindows.length < w.length || retry > 0) {
LoadedWindows = LoadData("windows_BAK"+retry, []);
}
// CACHED COUNTS AND STUFF
var lastWinId = w[w.length-1].id;
var lastTabId = w[w.length-1].tabs[w[w.length-1].tabs.length-1].id;
var LoadedWinCount = LoadedWindows.length;
var LoadedTabsCount = LoadedTabs.length;
var WinCount = w.length;
for (var wIndex = 0; wIndex < WinCount; wIndex++) {
let winIndex = wIndex;
let winId = w[winIndex].id;
let tabsCount = w[winIndex].tabs.length;
let win = Promise.resolve(browser.sessions.getWindowValue(winId, "TTId")).then(function(TTId) { // LOAD TTID FROM FIREFOX GET WINDOW VALUE
if (TTId != undefined) {
windows[winId] = {ttid: TTId, group_bar: opt.groups_toolbar_default, search_filter: "url", active_shelf: "", active_group: "tab_list", groups: {tab_list: {id: "tab_list", index: 0, activetab: 0, activetab_ttid: "", name: caption_ungrouped_group, font: ""}}, folders: {}};
} else {
windows[winId] = {ttid: "", group_bar: opt.groups_toolbar_default, search_filter: "url", active_shelf: "", active_group: "tab_list", groups: {tab_list: {id: "tab_list", index: 0, activetab: 0, activetab_ttid: "", name: caption_ungrouped_group, font: ""}}, folders: {}};
}
for (var tIndex = 0; tIndex < tabsCount; tIndex++) {
let tabIndex = tIndex;
let tabId = w[winIndex].tabs[tabIndex].id;
let tabPinned = w[winIndex].tabs[tabIndex].pinned;
let tab = Promise.resolve(browser.sessions.getTabValue(tabId, "TTId")).then(function(TTId) { // LOAD TTID FROM FIREFOX GET TAB VALUE
if (TTId != undefined) {
tabs[tabId] = {ttid: TTId, parent_ttid: "", parent: tabPinned ? "pin_list" : "tab_list", index: tabIndex, expand: ""};
} else {
tabs[tabId] = {ttid: "", parent_ttid: "", parent: tabPinned ? "pin_list" : "tab_list", index: tabIndex, expand: ""};
}
// IF ON LAST TAB AND LAST WINDOW, START MATCHING LOADED DATA
if (tabId == lastTabId && winId == lastWinId) {
for (var ThisSessonWinId in windows) {
if (windows[ThisSessonWinId].ttid != ""){
for (var LwIndex = 0; LwIndex < LoadedWinCount; LwIndex++) {
if (LoadedWindows[LwIndex].ttid == windows[ThisSessonWinId].ttid) {
if (LoadedWindows[LwIndex].group_bar) { windows[ThisSessonWinId].group_bar = LoadedWindows[LwIndex].group_bar; }
if (LoadedWindows[LwIndex].search_filter) { windows[ThisSessonWinId].search_filter = LoadedWindows[LwIndex].search_filter; }
if (LoadedWindows[LwIndex].active_shelf) { windows[winId].active_shelf = LoadedWindows[LwIndex].active_shelf; }
if (LoadedWindows[LwIndex].active_group) { windows[ThisSessonWinId].active_group = LoadedWindows[LwIndex].active_group; }
if (Object.keys(LoadedWindows[LwIndex].groups).length > 0) { windows[ThisSessonWinId].groups = Object.assign({}, LoadedWindows[LwIndex].groups); }
if (Object.keys(LoadedWindows[LwIndex].folders).length > 0) { windows[ThisSessonWinId].folders = Object.assign({}, LoadedWindows[LwIndex].folders); }
LoadedWindows[LwIndex].ttid = "";
break;
}
}
} else {
AppendWinTTId(parseInt(ThisSessonWinId));
}
}
// OK, DONE WITH WINDOWS, START TABS LOOP
for (var ThisSessonTabId in tabs) {
if (tabs[ThisSessonTabId].ttid != ""){
for (var LtabIndex = 0; LtabIndex < LoadedTabsCount; LtabIndex++) {
if (LoadedTabs[LtabIndex].ttid == tabs[ThisSessonTabId].ttid) {
refTabs[LoadedTabs[LtabIndex].id] = ThisSessonTabId;
if (LoadedTabs[LtabIndex].parent) { tabs[ThisSessonTabId].parent = LoadedTabs[LtabIndex].parent; }
if (LoadedTabs[LtabIndex].index) { tabs[ThisSessonTabId].index = LoadedTabs[LtabIndex].index; }
if (LoadedTabs[LtabIndex].expand) { tabs[ThisSessonTabId].expand = LoadedTabs[LtabIndex].expand; }
LoadedTabs[LtabIndex].ttid = "";
tabs_matched++;
break;
}
}
} else {
AppendTabTTId(parseInt(ThisSessonTabId));
}
}
// OK, DONE, NOW REPLACE OLD PARENTS IDS WITH THIS SESSION IDS
for (var ThisSessonTabId in tabs) {
if (refTabs[tabs[ThisSessonTabId].parent] != undefined) {
tabs[ThisSessonTabId].parent = refTabs[tabs[ThisSessonTabId].parent];
}
}
// OK, SAME THING FOR ACTIVE TABS IN GROUPS
for (var ThisSessonWinId in windows) {
for (var group in windows[ThisSessonWinId].groups) {
if (refTabs[windows[ThisSessonWinId].groups[group].activetab]) {
windows[ThisSessonWinId].groups[group].activetab = refTabs[windows[ThisSessonWinId].groups[group].activetab];
}
}
}
if (localStorage.getItem("t_count") !== null){
localStorage.removeItem("t_count");
}
if (localStorage.getItem("tabs_BAK1") !== null){
localStorage.removeItem("tabs_BAK1");
}
if (localStorage.getItem("tabs_BAK2") !== null){
localStorage.removeItem("tabs_BAK2");
}
if (localStorage.getItem("tabs_BAK3") !== null){
localStorage.removeItem("tabs_BAK3");
}
if (localStorage.getItem("tabs") !== null){
localStorage.removeItem("tabs");
}
if (localStorage.getItem("windows") !== null){
localStorage.removeItem(windows);
}
// will try to find tabs for 3 times
if (opt.skip_load == true || retry > 2 || (tabs_matched > tabs_count*0.5)) {
running = true;
FirefoxAutoSaveData();
FirefoxListeners();
} else {
setTimeout(function() {FirefoxLoadTabs(retry+1);}, 2000);
}
}
});
}
});
}
ConvertLegacyStorage();
});
}
......@@ -272,62 +126,62 @@ function ConvertLegacyStorage() {
LSpreferences = LoadData("preferences", {});
}
if (browserId != "F") {
let LStabs = {};
if (localStorage.getItem("tabs") != null) {
LStabs = LoadData("tabs", {});
}
let LSwindows = {};
if (localStorage.getItem("windows") != null) {
LSwindows = LoadData("windows", {});
}
let LStabs_BAK1 = {};
if (localStorage.getItem("tabs_BAK1") != null) {
LStabs_BAK1 = LoadData("tabs_BAK1", {});
}
let LStabs_BAK2 = {};
if (localStorage.getItem("tabs_BAK2") != null) {
LStabs_BAK2 = LoadData("tabs_BAK2", {});
}
let LStabs_BAK3 = {};
if (localStorage.getItem("tabs_BAK3") != null) {
LStabs_BAK3 = LoadData("tabs_BAK3", {});
}
let LSwindows_BAK1 = {};
if (localStorage.getItem("windows_BAK1") != null) {
LSwindows_BAK1 = LoadData("windows_BAK1", {});
}
let LSwindows_BAK2 = {};
if (localStorage.getItem("windows_BAK2") != null) {
LSwindows_BAK2 = LoadData("windows_BAK2", {});
}
let LSwindows_BAK3 = {};
if (localStorage.getItem("windows_BAK3") != null) {
LSwindows_BAK3 = LoadData("windows_BAK3", {});
}
let LSt_count = 0;
if (localStorage.getItem("t_count") != null) {
LSt_count = LoadData("t_count", {});
}
let LSw_count = 0;
if (localStorage.getItem("w_count") != null) {
LSw_count = LoadData("w_count", {});
}
chrome.storage.local.set({tabs: LStabs});
chrome.storage.local.set({windows: LSwindows});
chrome.storage.local.set({tabs_BAK1: LStabs_BAK1});
chrome.storage.local.set({tabs_BAK2: LStabs_BAK2});
chrome.storage.local.set({tabs_BAK3: LStabs_BAK3});
let LStabs = {};
if (localStorage.getItem("tabs") != null) {
LStabs = LoadData("tabs", {});
}
let LSwindows = {};
if (localStorage.getItem("windows") != null) {
LSwindows = LoadData("windows", {});
}
let LStabs_BAK1 = {};
if (localStorage.getItem("tabs_BAK1") != null) {
LStabs_BAK1 = LoadData("tabs_BAK1", {});
}
let LStabs_BAK2 = {};
if (localStorage.getItem("tabs_BAK2") != null) {
LStabs_BAK2 = LoadData("tabs_BAK2", {});
}
let LStabs_BAK3 = {};
if (localStorage.getItem("tabs_BAK3") != null) {
LStabs_BAK3 = LoadData("tabs_BAK3", {});
}
chrome.storage.local.set({windows_BAK1: LSwindows_BAK1});
chrome.storage.local.set({windows_BAK2: LSwindows_BAK2});
chrome.storage.local.set({windows_BAK3: LSwindows_BAK3});
chrome.storage.local.set({t_count: LSt_count});
chrome.storage.local.set({w_count: LSw_count});
let LSwindows_BAK1 = {};
if (localStorage.getItem("windows_BAK1") != null) {
LSwindows_BAK1 = LoadData("windows_BAK1", {});
}
let LSwindows_BAK2 = {};
if (localStorage.getItem("windows_BAK2") != null) {
LSwindows_BAK2 = LoadData("windows_BAK2", {});
}
let LSwindows_BAK3 = {};
if (localStorage.getItem("windows_BAK3") != null) {
LSwindows_BAK3 = LoadData("windows_BAK3", {});
}
let LSt_count = 0;
if (localStorage.getItem("t_count") != null) {
LSt_count = LoadData("t_count", {});
}
let LSw_count = 0;
if (localStorage.getItem("w_count") != null) {
LSw_count = LoadData("w_count", {});
}
chrome.storage.local.set({tabs: LStabs});
chrome.storage.local.set({windows: LSwindows});
chrome.storage.local.set({tabs_BAK1: LStabs_BAK1});
chrome.storage.local.set({tabs_BAK2: LStabs_BAK2});
chrome.storage.local.set({tabs_BAK3: LStabs_BAK3});
chrome.storage.local.set({windows_BAK1: LSwindows_BAK1});
chrome.storage.local.set({windows_BAK2: LSwindows_BAK2});
chrome.storage.local.set({windows_BAK3: LSwindows_BAK3});
chrome.storage.local.set({t_count: LSt_count});
chrome.storage.local.set({w_count: LSw_count});
chrome.storage.local.set({preferences: LSpreferences});
chrome.storage.local.set({current_theme: current_theme});
chrome.storage.local.set({themes: SLThemes});
......
......@@ -19,6 +19,9 @@
"button_undo": {
"message": "Reopen last closed"
},
"button_reboot": {
"message": "Reload Tree Tabs. Try this in case your tree hierarchy is lost after restart."
},
"button_detach": {
"message": "Detach tab"
},
......@@ -118,20 +121,19 @@
"button_folders": {
"message": "Folders"
},
"button_new_folder": {
"message": "New folder"
},
"button_remove_folder": {
"message": "Remove selected folder/s"
},
"button_edit_folder": {
"message": "Rename folder"
},
"menu_expand_all": {
......@@ -205,7 +207,7 @@
},
"menu_bookmark_tree": {
"message": "Bookmark tree"
"message": "Bookmark"
},
......@@ -224,21 +226,24 @@
"message": "New group"
},
"menu_rename_group": {
"message": "Rename group"
"message": "Rename"
},
"menu_delete_group": {
"message": "Delete group"
"message": "Delete"
},
"menu_delete_group_tabs_close": {
"message": "Delete group with tabs"
"message": "Delete with tabs"
},
"groups_menu_unload": {
"message": "Unload group"
"menu_groups_unload": {
"message": "Unload"
},
"menu_bookmark_group": {
"message": "Bookmark group"
"message": "Bookmark"
},
"menu_groups_hibernate"