mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2024-12-23 12:26:59 +01:00
Cleaned up LeftPanel.
This commit is contained in:
parent
efd6c7b333
commit
18694c27b9
@ -1,167 +1,142 @@
|
|||||||
|
|
||||||
#include "left_panel.h"
|
#include "left_panel.h"
|
||||||
|
|
||||||
|
#include "core/os/keyboard.h"
|
||||||
|
#include "scene/gui/item_list.h"
|
||||||
|
#include "scene/gui/label.h"
|
||||||
|
|
||||||
Array LeftPanel::get_recents() {
|
Array LeftPanel::get_recents() {
|
||||||
return recents;
|
return recents;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LeftPanel::set_recents(const Array &val) {
|
void LeftPanel::set_recents(const Array &val) {
|
||||||
recents = val;
|
recents = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
Array LeftPanel::get_favorites() {
|
Array LeftPanel::get_favorites() {
|
||||||
return favorites;
|
return favorites;
|
||||||
}
|
}
|
||||||
|
|
||||||
void LeftPanel::set_favorites(const Array &val) {
|
void LeftPanel::set_favorites(const Array &val) {
|
||||||
favorites = val;
|
favorites = val;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LeftPanel::add_recent(const String &file_path) {
|
||||||
|
if (recents.find(file_path) != -1) {
|
||||||
|
recents.erase(file_path);
|
||||||
|
}
|
||||||
|
|
||||||
|
recents.push_front(file_path);
|
||||||
//tool;
|
update_lists();
|
||||||
Array recents = [];
|
|
||||||
Array favorites = [];
|
|
||||||
signal open_directory(dirpath);
|
|
||||||
//func _ready():;
|
|
||||||
// if get_node("/root/MainWindow") != null:;
|
|
||||||
// var config_cache = get_node("/root/MainWindow").config_cache;
|
|
||||||
// if config_cache.has_section_key("file_dialog", "recents"):;
|
|
||||||
// var parse_result = JSON.parse(config_cache.get_value("file_dialog", "recents"));
|
|
||||||
// if parse_result != null:;
|
|
||||||
// recents = parse_result.result;
|
|
||||||
// if config_cache.has_section_key("file_dialog", "favorites"):;
|
|
||||||
// var parse_result = JSON.parse(config_cache.get_value("file_dialog", "favorites"));
|
|
||||||
// if parse_result != null:;
|
|
||||||
// favorites = parse_result.result;
|
|
||||||
// update_lists();
|
|
||||||
//func _exit_tree():;
|
|
||||||
// if get_node("/root/MainWindow") != null:;
|
|
||||||
// var config_cache = get_node("/root/MainWindow").config_cache;
|
|
||||||
// config_cache.set_value("file_dialog", "recents", JSON.print(recents));
|
|
||||||
// config_cache.set_value("file_dialog", "favorites", JSON.print(favorites));
|
|
||||||
|
|
||||||
void LeftPanel::add_recent(const String &file_path) {
|
|
||||||
|
|
||||||
if (recents.find(file_path) != -1) {
|
|
||||||
recents.erase(file_path);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
recents.push_front(file_path);
|
void LeftPanel::add_favorite(const String &file_path) {
|
||||||
update_lists();
|
if (favorites.find(file_path) == -1) {
|
||||||
|
favorites.push_back(file_path);
|
||||||
|
update_lists();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
String LeftPanel::my_basename(const String &s) {
|
||||||
|
int slash_pos = s.find_last("/");
|
||||||
|
|
||||||
void LeftPanel::add_favorite(const String &file_path) {
|
if (slash_pos == -1 || slash_pos + 1 == s.length()) {
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
if (favorites.find(file_path) == -1) {
|
return s.right(slash_pos + 1);
|
||||||
favorites.push_back(file_path);
|
|
||||||
update_lists();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LeftPanel::update_lists() {
|
||||||
|
_fav_list->clear();
|
||||||
|
|
||||||
|
for (int i = 0; i < favorites.size(); ++i) {
|
||||||
|
String d = favorites[i];
|
||||||
|
_fav_list->add_item(my_basename(d));
|
||||||
|
_fav_list->set_item_tooltip(_fav_list->get_item_count() - 1, d);
|
||||||
|
}
|
||||||
|
|
||||||
|
_recent_list->clear();
|
||||||
|
|
||||||
|
for (int i = 0; i < recents.size(); ++i) {
|
||||||
|
String d = recents[i];
|
||||||
|
_recent_list->add_item(my_basename(d));
|
||||||
|
_recent_list->set_item_tooltip(_recent_list->get_item_count() - 1, d);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LeftPanel::_on_FavList_item_activated(const int index) {
|
||||||
String LeftPanel::my_basename(const String &s) {
|
emit_signal("open_directory", _fav_list->get_item_tooltip(index));
|
||||||
int slash_pos = s.find_last("/");
|
|
||||||
|
|
||||||
if (slash_pos == -1 || slash_pos+1 == s.length()) {
|
|
||||||
return s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return s.right(slash_pos+1);
|
void LeftPanel::_on_RecentList_item_activated(const int index) {
|
||||||
|
emit_signal("open_directory", _recent_list->get_item_tooltip(index));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LeftPanel::_on_FavList_gui_input(const Ref<InputEvent> &event) {
|
||||||
|
Ref<InputEventKey> iek = event;
|
||||||
|
|
||||||
void LeftPanel::update_lists() {
|
if (iek.is_valid() && iek->is_pressed() && iek->get_scancode() == KEY_DELETE) {
|
||||||
$FavList.clear();
|
if (!_fav_list->get_selected_items().empty()) {
|
||||||
|
favorites.remove(_fav_list->get_selected_items()[0]);
|
||||||
for (d in favorites) {
|
update_lists();
|
||||||
$FavList.add_item(my_basename(d));
|
}
|
||||||
$FavList.set_item_tooltip($FavList.get_item_count()-1, d);
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$RecentList.clear();
|
void LeftPanel::_on_RecentList_gui_input(const Ref<InputEvent> &event) {
|
||||||
|
Ref<InputEventKey> iek = event;
|
||||||
|
|
||||||
for (d in recents) {
|
if (iek.is_valid() && iek->is_pressed() && iek->get_scancode() == KEY_DELETE) {
|
||||||
$RecentList.add_item(my_basename(d));
|
if (!_recent_list->get_selected_items().empty()) {
|
||||||
$RecentList.set_item_tooltip($RecentList.get_item_count()-1, d);
|
recents.remove(_recent_list->get_selected_items()[0]);
|
||||||
|
update_lists();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LeftPanel::LeftPanel() {
|
||||||
|
set_v_size_flags(SIZE_EXPAND_FILL);
|
||||||
|
|
||||||
|
Label *recentlabel = memnew(Label);
|
||||||
|
recentlabel->set_text("Recent");
|
||||||
|
add_child(recentlabel);
|
||||||
|
|
||||||
|
_recent_list = memnew(ItemList);
|
||||||
|
_recent_list->set_custom_minimum_size(Vector2(100, 0));
|
||||||
|
_recent_list->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||||
|
add_child(_recent_list);
|
||||||
|
|
||||||
|
Label *favlabel = memnew(Label);
|
||||||
|
favlabel->set_text("Favorite");
|
||||||
|
add_child(favlabel);
|
||||||
|
|
||||||
|
_fav_list = memnew(ItemList);
|
||||||
|
_fav_list->set_custom_minimum_size(Vector2(100, 0));
|
||||||
|
_fav_list->set_v_size_flags(SIZE_EXPAND_FILL);
|
||||||
|
add_child(_fav_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LeftPanel::~LeftPanel() {
|
||||||
void LeftPanel::_on_FavList_item_activated(const Variant &index) {
|
|
||||||
emit_signal("open_directory", $FavList.get_item_tooltip(index));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LeftPanel::_bind_methods() {
|
||||||
|
ADD_SIGNAL(MethodInfo("open_directory", PropertyInfo(Variant::STRING, "dirpath")));
|
||||||
|
|
||||||
void LeftPanel::_on_RecentList_item_activated(const Variant &index) {
|
ClassDB::bind_method(D_METHOD("get_recents"), &LeftPanel::get_recents);
|
||||||
emit_signal("open_directory", $RecentList.get_item_tooltip(index));
|
ClassDB::bind_method(D_METHOD("set_recents", "value"), &LeftPanel::set_recents);
|
||||||
|
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "recents"), "set_recents", "get_recents");
|
||||||
|
|
||||||
|
ClassDB::bind_method(D_METHOD("get_favorites"), &LeftPanel::get_favorites);
|
||||||
|
ClassDB::bind_method(D_METHOD("set_favorites", "value"), &LeftPanel::set_favorites);
|
||||||
|
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "favorites"), "set_favorites", "get_favorites");
|
||||||
|
|
||||||
|
ClassDB::bind_method(D_METHOD("add_recent", "file_path"), &LeftPanel::add_recent);
|
||||||
|
ClassDB::bind_method(D_METHOD("add_favorite", "file_path"), &LeftPanel::add_favorite);
|
||||||
|
ClassDB::bind_method(D_METHOD("my_basename", "s"), &LeftPanel::my_basename);
|
||||||
|
ClassDB::bind_method(D_METHOD("update_lists"), &LeftPanel::update_lists);
|
||||||
|
ClassDB::bind_method(D_METHOD("_on_FavList_item_activated", "index"), &LeftPanel::_on_FavList_item_activated);
|
||||||
|
ClassDB::bind_method(D_METHOD("_on_RecentList_item_activated", "index"), &LeftPanel::_on_RecentList_item_activated);
|
||||||
|
ClassDB::bind_method(D_METHOD("_on_FavList_gui_input", "event"), &LeftPanel::_on_FavList_gui_input);
|
||||||
|
ClassDB::bind_method(D_METHOD("_on_RecentList_gui_input", "event"), &LeftPanel::_on_RecentList_gui_input);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void LeftPanel::_on_FavList_gui_input(const Variant &event) {
|
|
||||||
|
|
||||||
if (event is InputEventKey && event.pressed && event.scancode == KEY_DELETE) {
|
|
||||||
|
|
||||||
if (! $FavList.get_selected_items().empty()) {
|
|
||||||
favorites.remove($FavList.get_selected_items()[0]);
|
|
||||||
update_lists();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void LeftPanel::_on_RecentList_gui_input(const Variant &event) {
|
|
||||||
|
|
||||||
if (event is InputEventKey && event.pressed && event.scancode == KEY_DELETE) {
|
|
||||||
|
|
||||||
if (! $RecentList.get_selected_items().empty()) {
|
|
||||||
recents.remove($RecentList.get_selected_items()[0]);
|
|
||||||
update_lists();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
LeftPanel::LeftPanel() {
|
|
||||||
recents = [];
|
|
||||||
favorites = [];
|
|
||||||
}
|
|
||||||
|
|
||||||
LeftPanel::~LeftPanel() {
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void LeftPanel::_bind_methods() {
|
|
||||||
ClassDB::bind_method(D_METHOD("get_recents"), &LeftPanel::get_recents);
|
|
||||||
ClassDB::bind_method(D_METHOD("set_recents", "value"), &LeftPanel::set_recents);
|
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "recents"), "set_recents", "get_recents");
|
|
||||||
|
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("get_favorites"), &LeftPanel::get_favorites);
|
|
||||||
ClassDB::bind_method(D_METHOD("set_favorites", "value"), &LeftPanel::set_favorites);
|
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "favorites"), "set_favorites", "get_favorites");
|
|
||||||
|
|
||||||
|
|
||||||
ClassDB::bind_method(D_METHOD("add_recent", "file_path"), &LeftPanel::add_recent);
|
|
||||||
ClassDB::bind_method(D_METHOD("add_favorite", "file_path"), &LeftPanel::add_favorite);
|
|
||||||
ClassDB::bind_method(D_METHOD("my_basename", "s"), &LeftPanel::my_basename);
|
|
||||||
ClassDB::bind_method(D_METHOD("update_lists"), &LeftPanel::update_lists);
|
|
||||||
ClassDB::bind_method(D_METHOD("_on_FavList_item_activated", "index"), &LeftPanel::_on_FavList_item_activated);
|
|
||||||
ClassDB::bind_method(D_METHOD("_on_RecentList_item_activated", "index"), &LeftPanel::_on_RecentList_item_activated);
|
|
||||||
ClassDB::bind_method(D_METHOD("_on_FavList_gui_input", "event"), &LeftPanel::_on_FavList_gui_input);
|
|
||||||
ClassDB::bind_method(D_METHOD("_on_RecentList_gui_input", "event"), &LeftPanel::_on_RecentList_gui_input);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,178 +0,0 @@
|
|||||||
|
|
||||||
void construct() {
|
|
||||||
|
|
||||||
//Script: res://addons/mat_maker_gd/windows/file_dialog/left_panel.gd
|
|
||||||
VBoxContainer *leftpanel = memnew(VBoxContainer);
|
|
||||||
leftpanel->set_name("LeftPanel");
|
|
||||||
|
|
||||||
leftpanel->set_name("LeftPanel");
|
|
||||||
//leftpanel->set("name", LeftPanel));
|
|
||||||
|
|
||||||
leftpanel->set_filename("res://addons/mat_maker_gd/windows/file_dialog/left_panel.tscn");
|
|
||||||
//leftpanel->set("filename", "res://addons/mat_maker_gd/windows/file_dialog/left_panel.tscn");
|
|
||||||
|
|
||||||
leftpanel->set_margin_right(40);
|
|
||||||
//leftpanel->set("margin_right", 40);
|
|
||||||
|
|
||||||
leftpanel->set_margin_bottom(40);
|
|
||||||
//leftpanel->set("margin_bottom", 40);
|
|
||||||
|
|
||||||
leftpanel->set_rect_size(Vector2(40, 40));
|
|
||||||
//leftpanel->set("rect_size", Vector2(40, 40));
|
|
||||||
|
|
||||||
leftpanel->set_size_flags_vertical(3);
|
|
||||||
//leftpanel->set("size_flags_vertical", 3);
|
|
||||||
|
|
||||||
//leftpanel property __meta__ TYPE_DICTIONARY value: {_edit_use_anchors_:False}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Label *recentlabel_leftpanel = memnew(Label);
|
|
||||||
recentlabel_leftpanel->set_name("RecentLabel");
|
|
||||||
leftpanel->add_child(recentlabel_leftpanel);
|
|
||||||
|
|
||||||
recentlabel_leftpanel->set_name("RecentLabel");
|
|
||||||
//recentlabel_leftpanel->set("name", RecentLabel));
|
|
||||||
|
|
||||||
//recentlabel_leftpanel property owner TYPE_OBJECT value: LeftPanel:[VBoxContainer:37180]
|
|
||||||
|
|
||||||
recentlabel_leftpanel->set_margin_right(100);
|
|
||||||
//recentlabel_leftpanel->set("margin_right", 100);
|
|
||||||
|
|
||||||
recentlabel_leftpanel->set_margin_bottom(14);
|
|
||||||
//recentlabel_leftpanel->set("margin_bottom", 14);
|
|
||||||
|
|
||||||
recentlabel_leftpanel->set_rect_size(Vector2(100, 14));
|
|
||||||
//recentlabel_leftpanel->set("rect_size", Vector2(100, 14));
|
|
||||||
|
|
||||||
recentlabel_leftpanel->set_text("Recent");
|
|
||||||
//recentlabel_leftpanel->set("text", "Recent");
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ItemList *recentlist_leftpanel = memnew(ItemList);
|
|
||||||
recentlist_leftpanel->set_name("RecentList");
|
|
||||||
leftpanel->add_child(recentlist_leftpanel);
|
|
||||||
|
|
||||||
recentlist_leftpanel->set_name("RecentList");
|
|
||||||
//recentlist_leftpanel->set("name", RecentList));
|
|
||||||
|
|
||||||
//recentlist_leftpanel property owner TYPE_OBJECT value: LeftPanel:[VBoxContainer:37180]
|
|
||||||
|
|
||||||
recentlist_leftpanel->set_margin_top(18);
|
|
||||||
//recentlist_leftpanel->set("margin_top", 18);
|
|
||||||
|
|
||||||
recentlist_leftpanel->set_margin_right(100);
|
|
||||||
//recentlist_leftpanel->set("margin_right", 100);
|
|
||||||
|
|
||||||
recentlist_leftpanel->set_margin_bottom(18);
|
|
||||||
//recentlist_leftpanel->set("margin_bottom", 18);
|
|
||||||
|
|
||||||
recentlist_leftpanel->set_rect_position(Vector2(0, 18));
|
|
||||||
//recentlist_leftpanel->set("rect_position", Vector2(0, 18));
|
|
||||||
|
|
||||||
recentlist_leftpanel->set_rect_global_position(Vector2(0, 18));
|
|
||||||
//recentlist_leftpanel->set("rect_global_position", Vector2(0, 18));
|
|
||||||
|
|
||||||
recentlist_leftpanel->set_rect_size(Vector2(100, 0));
|
|
||||||
//recentlist_leftpanel->set("rect_size", Vector2(100, 0));
|
|
||||||
|
|
||||||
recentlist_leftpanel->set_rect_min_size(Vector2(100, 0));
|
|
||||||
//recentlist_leftpanel->set("rect_min_size", Vector2(100, 0));
|
|
||||||
|
|
||||||
recentlist_leftpanel->set_size_flags_vertical(3);
|
|
||||||
//recentlist_leftpanel->set("size_flags_vertical", 3);
|
|
||||||
|
|
||||||
//recentlist_leftpanel property __meta__ TYPE_DICTIONARY value: {_edit_use_anchors_:False}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VScrollBar *vscrollbar_recentlist_leftpanel = memnew(VScrollBar);
|
|
||||||
vscrollbar_recentlist_leftpanel->set_name("VScrollBar");
|
|
||||||
recentlist_leftpanel->add_child(vscrollbar_recentlist_leftpanel);
|
|
||||||
|
|
||||||
vscrollbar_recentlist_leftpanel->set_name("VScrollBar");
|
|
||||||
//vscrollbar_recentlist_leftpanel->set("name", VScrollBar));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Label *favlabel_leftpanel = memnew(Label);
|
|
||||||
favlabel_leftpanel->set_name("FavLabel");
|
|
||||||
leftpanel->add_child(favlabel_leftpanel);
|
|
||||||
|
|
||||||
favlabel_leftpanel->set_name("FavLabel");
|
|
||||||
//favlabel_leftpanel->set("name", FavLabel));
|
|
||||||
|
|
||||||
//favlabel_leftpanel property owner TYPE_OBJECT value: LeftPanel:[VBoxContainer:37180]
|
|
||||||
|
|
||||||
favlabel_leftpanel->set_margin_top(22);
|
|
||||||
//favlabel_leftpanel->set("margin_top", 22);
|
|
||||||
|
|
||||||
favlabel_leftpanel->set_margin_right(100);
|
|
||||||
//favlabel_leftpanel->set("margin_right", 100);
|
|
||||||
|
|
||||||
favlabel_leftpanel->set_margin_bottom(36);
|
|
||||||
//favlabel_leftpanel->set("margin_bottom", 36);
|
|
||||||
|
|
||||||
favlabel_leftpanel->set_rect_position(Vector2(0, 22));
|
|
||||||
//favlabel_leftpanel->set("rect_position", Vector2(0, 22));
|
|
||||||
|
|
||||||
favlabel_leftpanel->set_rect_global_position(Vector2(0, 22));
|
|
||||||
//favlabel_leftpanel->set("rect_global_position", Vector2(0, 22));
|
|
||||||
|
|
||||||
favlabel_leftpanel->set_rect_size(Vector2(100, 14));
|
|
||||||
//favlabel_leftpanel->set("rect_size", Vector2(100, 14));
|
|
||||||
|
|
||||||
favlabel_leftpanel->set_text("Favorite");
|
|
||||||
//favlabel_leftpanel->set("text", "Favorite");
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ItemList *favlist_leftpanel = memnew(ItemList);
|
|
||||||
favlist_leftpanel->set_name("FavList");
|
|
||||||
leftpanel->add_child(favlist_leftpanel);
|
|
||||||
|
|
||||||
favlist_leftpanel->set_name("FavList");
|
|
||||||
//favlist_leftpanel->set("name", FavList));
|
|
||||||
|
|
||||||
//favlist_leftpanel property owner TYPE_OBJECT value: LeftPanel:[VBoxContainer:37180]
|
|
||||||
|
|
||||||
favlist_leftpanel->set_margin_top(40);
|
|
||||||
//favlist_leftpanel->set("margin_top", 40);
|
|
||||||
|
|
||||||
favlist_leftpanel->set_margin_right(100);
|
|
||||||
//favlist_leftpanel->set("margin_right", 100);
|
|
||||||
|
|
||||||
favlist_leftpanel->set_margin_bottom(40);
|
|
||||||
//favlist_leftpanel->set("margin_bottom", 40);
|
|
||||||
|
|
||||||
favlist_leftpanel->set_rect_position(Vector2(0, 40));
|
|
||||||
//favlist_leftpanel->set("rect_position", Vector2(0, 40));
|
|
||||||
|
|
||||||
favlist_leftpanel->set_rect_global_position(Vector2(0, 40));
|
|
||||||
//favlist_leftpanel->set("rect_global_position", Vector2(0, 40));
|
|
||||||
|
|
||||||
favlist_leftpanel->set_rect_size(Vector2(100, 0));
|
|
||||||
//favlist_leftpanel->set("rect_size", Vector2(100, 0));
|
|
||||||
|
|
||||||
favlist_leftpanel->set_rect_min_size(Vector2(100, 0));
|
|
||||||
//favlist_leftpanel->set("rect_min_size", Vector2(100, 0));
|
|
||||||
|
|
||||||
favlist_leftpanel->set_size_flags_vertical(3);
|
|
||||||
//favlist_leftpanel->set("size_flags_vertical", 3);
|
|
||||||
|
|
||||||
//favlist_leftpanel property __meta__ TYPE_DICTIONARY value: {_edit_use_anchors_:False}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
VScrollBar *vscrollbar_favlist_leftpanel = memnew(VScrollBar);
|
|
||||||
vscrollbar_favlist_leftpanel->set_name("VScrollBar");
|
|
||||||
favlist_leftpanel->add_child(vscrollbar_favlist_leftpanel);
|
|
||||||
|
|
||||||
vscrollbar_favlist_leftpanel->set_name("VScrollBar");
|
|
||||||
//vscrollbar_favlist_leftpanel->set("name", VScrollBar));
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
@ -1,55 +1,46 @@
|
|||||||
#ifndef LEFT_PANEL_H
|
#ifndef LEFT_PANEL_H
|
||||||
#define LEFT_PANEL_H
|
#define LEFT_PANEL_H
|
||||||
|
|
||||||
|
#include "core/array.h"
|
||||||
|
#include "core/os/input_event.h"
|
||||||
|
#include "core/ustring.h"
|
||||||
|
|
||||||
|
#include "scene/gui/box_container.h"
|
||||||
|
|
||||||
|
class ItemList;
|
||||||
|
|
||||||
class LeftPanel : public VBoxContainer {
|
class LeftPanel : public VBoxContainer {
|
||||||
GDCLASS(LeftPanel, VBoxContainer);
|
GDCLASS(LeftPanel, VBoxContainer);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
Array get_recents();
|
||||||
|
void set_recents(const Array &val);
|
||||||
|
|
||||||
Array get_recents();
|
Array get_favorites();
|
||||||
void set_recents(const Array &val);
|
void set_favorites(const Array &val);
|
||||||
|
|
||||||
Array get_favorites();
|
void add_recent(const String &file_path);
|
||||||
void set_favorites(const Array &val);
|
void add_favorite(const String &file_path);
|
||||||
|
|
||||||
void add_recent(const String &file_path);
|
String my_basename(const String &s);
|
||||||
void add_favorite(const String &file_path);
|
void update_lists();
|
||||||
String my_basename(const String &s);
|
|
||||||
void update_lists();
|
|
||||||
void _on_FavList_item_activated(const Variant &index);
|
|
||||||
void _on_RecentList_item_activated(const Variant &index);
|
|
||||||
void _on_FavList_gui_input(const Variant &event);
|
|
||||||
void _on_RecentList_gui_input(const Variant &event);
|
|
||||||
|
|
||||||
LeftPanel();
|
void _on_FavList_item_activated(const int index);
|
||||||
~LeftPanel();
|
void _on_RecentList_item_activated(const int index);
|
||||||
|
void _on_FavList_gui_input(const Ref<InputEvent> &event);
|
||||||
|
void _on_RecentList_gui_input(const Ref<InputEvent> &event);
|
||||||
|
|
||||||
protected:
|
LeftPanel();
|
||||||
static void _bind_methods();
|
~LeftPanel();
|
||||||
|
|
||||||
//tool
|
protected:
|
||||||
Array recents = [];
|
static void _bind_methods();
|
||||||
Array favorites = [];
|
|
||||||
signal open_directory(dirpath);
|
Array recents;
|
||||||
//func _ready():
|
Array favorites;
|
||||||
// if get_node("/root/MainWindow") != null:
|
|
||||||
// var config_cache = get_node("/root/MainWindow").config_cache
|
ItemList *_recent_list;
|
||||||
// if config_cache.has_section_key("file_dialog", "recents"):
|
ItemList *_fav_list;
|
||||||
// var parse_result = JSON.parse(config_cache.get_value("file_dialog", "recents"))
|
|
||||||
// if parse_result != null:
|
|
||||||
// recents = parse_result.result
|
|
||||||
// if config_cache.has_section_key("file_dialog", "favorites"):
|
|
||||||
// var parse_result = JSON.parse(config_cache.get_value("file_dialog", "favorites"))
|
|
||||||
// if parse_result != null:
|
|
||||||
// favorites = parse_result.result
|
|
||||||
// update_lists()
|
|
||||||
//func _exit_tree():
|
|
||||||
// if get_node("/root/MainWindow") != null:
|
|
||||||
// var config_cache = get_node("/root/MainWindow").config_cache
|
|
||||||
// config_cache.set_value("file_dialog", "recents", JSON.print(recents))
|
|
||||||
// config_cache.set_value("file_dialog", "favorites", JSON.print(favorites))
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user