mirror of
https://github.com/Mahdi-zarei/nekoray.git
synced 2025-12-19 05:30:06 +08:00
Save window position/size
This commit is contained in:
parent
70c0ecd926
commit
7a32e4144c
@ -277,6 +277,24 @@ set(PROJECT_SOURCES
|
||||
include/configs/outbounds/custom.h
|
||||
include/configs/outbounds/chain.h
|
||||
include/configs/outbounds/extracore.h
|
||||
include/ui/profile/edit_socks.h
|
||||
src/ui/profile/edit_socks.cpp
|
||||
include/ui/profile/edit_socks.ui
|
||||
include/ui/profile/edit_http.h
|
||||
src/ui/profile/edit_http.cpp
|
||||
include/ui/profile/edit_http.ui
|
||||
include/ui/profile/edit_trojan.h
|
||||
src/ui/profile/edit_trojan.cpp
|
||||
include/ui/profile/edit_trojan.ui
|
||||
include/ui/profile/edit_hysteria.h
|
||||
src/ui/profile/edit_hysteria.cpp
|
||||
include/ui/profile/edit_hysteria.ui
|
||||
include/ui/profile/edit_tuic.h
|
||||
src/ui/profile/edit_tuic.cpp
|
||||
include/ui/profile/edit_tuic.ui
|
||||
include/ui/profile/edit_hysteria2.h
|
||||
src/ui/profile/edit_hysteria2.cpp
|
||||
include/ui/profile/edit_hysteria2.ui
|
||||
)
|
||||
|
||||
if (NOT APPLE AND Qt6_VERSION VERSION_GREATER_EQUAL 6.9.0)
|
||||
@ -290,12 +308,6 @@ endif ()
|
||||
qt_add_executable(Throne
|
||||
MANUAL_FINALIZATION
|
||||
${PROJECT_SOURCES}
|
||||
include/ui/profile/edit_socks.h src/ui/profile/edit_socks.cpp include/ui/profile/edit_socks.ui
|
||||
include/ui/profile/edit_http.h src/ui/profile/edit_http.cpp include/ui/profile/edit_http.ui
|
||||
include/ui/profile/edit_trojan.h src/ui/profile/edit_trojan.cpp include/ui/profile/edit_trojan.ui
|
||||
include/ui/profile/edit_hysteria.h src/ui/profile/edit_hysteria.cpp include/ui/profile/edit_hysteria.ui
|
||||
include/ui/profile/edit_tuic.h src/ui/profile/edit_tuic.cpp include/ui/profile/edit_tuic.ui
|
||||
include/ui/profile/edit_hysteria2.h src/ui/profile/edit_hysteria2.cpp include/ui/profile/edit_hysteria2.ui
|
||||
)
|
||||
|
||||
# Target
|
||||
@ -319,7 +331,6 @@ set_target_properties(Throne PROPERTIES
|
||||
MACOSX_BUNDLE_GUI_IDENTIFIER moe.Throne.macosx
|
||||
MACOSX_BUNDLE TRUE
|
||||
WIN32_EXECUTABLE TRUE
|
||||
|
||||
)
|
||||
|
||||
# Target Source Translations
|
||||
|
||||
@ -77,6 +77,7 @@ namespace Configs {
|
||||
// Saved
|
||||
|
||||
// Misc
|
||||
QString mainWindowGeometry;
|
||||
QString log_level = "info";
|
||||
QString test_latency_url = "http://cp.cloudflare.com/";
|
||||
int url_test_timeout_ms = 3000;
|
||||
|
||||
@ -323,6 +323,7 @@ namespace Configs {
|
||||
_add(new configItem("speed_test_timeout_ms", &speed_test_timeout_ms, itemType::integer));
|
||||
_add(new configItem("url_test_timeout_ms", &url_test_timeout_ms, itemType::integer));
|
||||
_add(new configItem("show_system_dns", &show_system_dns, itemType::boolean));
|
||||
_add(new configItem("main_window_geometry", &mainWindowGeometry, itemType::string));
|
||||
}
|
||||
|
||||
void DataStore::UpdateStartedId(int id) {
|
||||
|
||||
@ -90,6 +90,12 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWi
|
||||
setActionsData();
|
||||
loadShortcuts();
|
||||
|
||||
// geometry remembering
|
||||
if (!Configs::dataStore->mainWindowGeometry.isEmpty()) {
|
||||
auto geo = DecodeB64IfValid(Configs::dataStore->mainWindowGeometry);
|
||||
this->restoreGeometry(geo);
|
||||
}
|
||||
|
||||
// setup log
|
||||
ui->splitter->restoreState(DecodeB64IfValid(Configs::dataStore->splitter_state));
|
||||
new SyntaxHighlighter(isDarkMode() || Configs::dataStore->theme.toLower() == "qdarkstyle", qvLogDocument);
|
||||
@ -928,6 +934,7 @@ void MainWindow::on_menu_hotkey_settings_triggered() {
|
||||
void MainWindow::on_commitDataRequest() {
|
||||
qDebug() << "Start of data save";
|
||||
//
|
||||
Configs::dataStore->mainWindowGeometry = this->saveGeometry().toBase64(QByteArray::Base64Encoding);
|
||||
if (!isMaximized()) {
|
||||
auto olds = Configs::dataStore->mw_size;
|
||||
auto news = QString("%1x%2").arg(size().width()).arg(size().height());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user