Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ jobs:
mkdir build
cd build
curl -fLso srslist.h "https://raw.githubusercontent.com/throneproj/routeprofiles/rule-set/srslist.h"
cmake -GNinja -DCMAKE_BUILD_TYPE=RelWithDebInfo $LAUNCHER_ARGS ..
cmake -GNinja -DCMAKE_BUILD_TYPE=Release $LAUNCHER_ARGS ..
ninja
cd ..
./script/deploy_windows.sh
Expand Down
33 changes: 19 additions & 14 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -448,18 +448,8 @@ set(PROJECT_SOURCES
include/configs/sub/warp.h
src/configs/sub/warp.cpp
include/global/Common.h
src/global/Common.cpp
)

if (NOT APPLE AND Qt6_VERSION VERSION_GREATER_EQUAL 6.9.0)
list(APPEND PROJECT_SOURCES res/EmojiFont.qrc)
if (WIN32)
list(APPEND PROJECT_SOURCES res/EmojiFontWin.qrc)
endif ()
# rcc's default threshold leaves these TTFs uncompressed.
set_property(SOURCE res/EmojiFont.qrc res/EmojiFontWin.qrc
PROPERTY AUTORCC_OPTIONS "--compress-algo;zlib;--compress;9;--threshold;5")
endif ()
src/global/Common.cpp
)

# Qt exe
qt_add_executable(Throne
Expand Down Expand Up @@ -517,8 +507,6 @@ target_compile_definitions(Throne PRIVATE
# Target Source Translations

set(TS_FILES
res/translations/zh_CN.ts
res/translations/fa_IR.ts
res/translations/ru_RU.ts
)
set(LUPDATE_OPTIONS
Expand All @@ -539,4 +527,21 @@ target_link_libraries(Throne PRIVATE
${PLATFORM_LIBRARIES}
)

# Aggressive optimizations for Release builds (MSVC)
if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
target_compile_options(Throne PRIVATE
$<$<CONFIG:Release>:/O2 /GL /Gy>
)
target_link_options(Throne PRIVATE
$<$<CONFIG:Release>:/LTCG /OPT:REF /OPT:ICF /INCREMENTAL:NO>
)
else()
target_compile_options(Throne PRIVATE
$<$<CONFIG:Release>:-O3 -flto -ffat-lto-objects -march=native -ffunction-sections -fdata-sections>
)
target_link_options(Throne PRIVATE
$<$<CONFIG:Release>:-flto -Wl,--gc-sections -Wl,--strip-all>
)
endif()

qt_finalize_executable(Throne)
9 changes: 8 additions & 1 deletion include/database/SettingsRepo.h
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,14 @@ namespace Configs {
QStringList log_exclude_keyword = {};
QStringList log_exclude_regex = {};
bool log_auto_scroll = true;
bool start_minimal = false;
// Quick links (custom buttons on the main window)
QString quick_link_1 = "";
QString quick_link_2 = "";
QString quick_link_3 = "";
QString quick_link_name_1 = "";
QString quick_link_name_2 = "";
QString quick_link_name_3 = "";
bool start_minimal = false;
int max_log_line = 200;
// On-disk diagnostic log only; log_level is the core's browser verbosity.
QString log_file_level = "debug";
Expand Down
5 changes: 5 additions & 0 deletions include/stats/connections/connectionLister.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,11 @@
namespace Stats
{
constexpr int IDKEY = 242315;
constexpr int DESTKEY = 242316;
constexpr int DOMAINKEY = 242317;
constexpr int PROCESSKEY = 242318;
constexpr int PROCESSPATHKEY = 242319;
constexpr int OUTBOUNDKEY = 242320;

enum ConnectionSort
{
Expand Down
15 changes: 13 additions & 2 deletions include/ui/mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -195,9 +195,13 @@ private slots:

void on_menu_resolve_domain_triggered();

void on_menu_update_subscription_triggered();
void on_menu_update_subscription_triggered();

void on_profilesTableView_doubleClicked(const QModelIndex &index);
void on_toolButton_link1_clicked();
void on_toolButton_link2_clicked();
void on_toolButton_link3_clicked();

void on_profilesTableView_doubleClicked(const QModelIndex &index);

void on_profilesTableView_customContextMenuRequested(const QPoint &pos);

Expand All @@ -215,6 +219,10 @@ private slots:
QMenu *trayMenu = nullptr; // tray context menu
QPointer<TrayProfileSelector> traySelector;
void openTraySelector(bool routing);
void openRoutingQuickMenu(const QPoint &globalPos);
// Refresh the routing segment of the status bar from the active profile.
void refreshRoutingStatus();
void refreshQuickLinkButtons(); // Update quick link button texts from settings
QPointer<TrayOtpCodes> trayOtpCodes;
void openTrayOtpCodes();
QShortcut *shortcut_esc = new QShortcut(QKeySequence::Cancel, this);
Expand Down Expand Up @@ -420,6 +428,9 @@ private slots:
void setupConnectionList();

void setupConnectionSortMenu();
void showConnectionMenu(const QPoint &pos); // right-click menu on connections table
QString existingRuleAction(const QString &entry) const;
void addRuleFromConnection(const QString &entry, int action);

friend class TestRunner;

Expand Down
8 changes: 8 additions & 0 deletions include/ui/setting/dialog_basic_settings.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,14 @@ public slots:
private:
Ui::DialogBasicSettings *ui;

// Quick link fields (created in code, not in .ui)
QLineEdit *quick_link_1 = nullptr;
QLineEdit *quick_link_2 = nullptr;
QLineEdit *quick_link_3 = nullptr;
QLineEdit *quick_link_name_1 = nullptr;
QLineEdit *quick_link_name_2 = nullptr;
QLineEdit *quick_link_name_3 = nullptr;

void applyRegexHighlighting();

// Downloads an Xray geo asset (`fileName`, e.g. "geoip.dat") from `url` into the
Expand Down
77 changes: 73 additions & 4 deletions include/ui/setting/dialog_basic_settings.ui
Original file line number Diff line number Diff line change
Expand Up @@ -321,10 +321,79 @@ QTabBar::tab:hover:!selected {
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="horizontalWidget_1" native="true">
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_quicklinks">
<property name="title">
<string>Quick Links</string>
</property>
<layout class="QGridLayout" name="gridLayout_quicklinks">
<item row="0" column="0">
<widget class="QLabel" name="label_quicklink_name_1">
<property name="text">
<string>Link 1 Name</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="quick_link_name_1"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_quicklink_1">
<property name="text">
<string>Link 1 URL</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLineEdit" name="quick_link_1"/>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_quicklink_name_2">
<property name="text">
<string>Link 2 Name</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLineEdit" name="quick_link_name_2"/>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_quicklink_2">
<property name="text">
<string>Link 2 URL</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLineEdit" name="quick_link_2"/>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_quicklink_name_3">
<property name="text">
<string>Link 3 Name</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLineEdit" name="quick_link_name_3"/>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_quicklink_3">
<property name="text">
<string>Link 3 URL</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLineEdit" name="quick_link_3"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="horizontalWidget_1" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Maximum">
<horstretch>0</horstretch>
Expand Down
5 changes: 0 additions & 5 deletions res/EmojiFont.qrc

This file was deleted.

5 changes: 0 additions & 5 deletions res/EmojiFontWin.qrc

This file was deleted.

Binary file removed res/font/NotoColorEmoji.ttf
Binary file not shown.
Binary file removed res/font/TwemojiCOLR.ttf
Binary file not shown.
72 changes: 0 additions & 72 deletions res/theme/feiyangqingyun/qss.qrc
Original file line number Diff line number Diff line change
Expand Up @@ -24,77 +24,5 @@
<file>qss/blacksoft/radiobutton_checked.png</file>
<file>qss/blacksoft/radiobutton_unchecked_disable.png</file>
<file>qss/blacksoft/radiobutton_unchecked.png</file>
<file>qss/flatgray.css</file>
<file>qss/flatgray/add_bottom.png</file>
<file>qss/flatgray/add_left.png</file>
<file>qss/flatgray/add_right.png</file>
<file>qss/flatgray/add_top.png</file>
<file>qss/flatgray/arrow_bottom.png</file>
<file>qss/flatgray/arrow_left.png</file>
<file>qss/flatgray/arrow_right.png</file>
<file>qss/flatgray/arrow_top.png</file>
<file>qss/flatgray/branch_close.png</file>
<file>qss/flatgray/branch_open.png</file>
<file>qss/flatgray/calendar_nextmonth.png</file>
<file>qss/flatgray/calendar_prevmonth.png</file>
<file>qss/flatgray/checkbox_checked_disable.png</file>
<file>qss/flatgray/checkbox_checked.png</file>
<file>qss/flatgray/checkbox_parcial_disable.png</file>
<file>qss/flatgray/checkbox_parcial.png</file>
<file>qss/flatgray/checkbox_unchecked_disable.png</file>
<file>qss/flatgray/checkbox_unchecked.png</file>
<file>qss/flatgray/menu_checked.png</file>
<file>qss/flatgray/radiobutton_checked_disable.png</file>
<file>qss/flatgray/radiobutton_checked.png</file>
<file>qss/flatgray/radiobutton_unchecked_disable.png</file>
<file>qss/flatgray/radiobutton_unchecked.png</file>
<file>qss/lightblue.css</file>
<file>qss/lightblue/add_bottom.png</file>
<file>qss/lightblue/add_left.png</file>
<file>qss/lightblue/add_right.png</file>
<file>qss/lightblue/add_top.png</file>
<file>qss/lightblue/arrow_bottom.png</file>
<file>qss/lightblue/arrow_left.png</file>
<file>qss/lightblue/arrow_right.png</file>
<file>qss/lightblue/arrow_top.png</file>
<file>qss/lightblue/branch_close.png</file>
<file>qss/lightblue/branch_open.png</file>
<file>qss/lightblue/calendar_nextmonth.png</file>
<file>qss/lightblue/calendar_prevmonth.png</file>
<file>qss/lightblue/checkbox_checked_disable.png</file>
<file>qss/lightblue/checkbox_checked.png</file>
<file>qss/lightblue/checkbox_parcial_disable.png</file>
<file>qss/lightblue/checkbox_parcial.png</file>
<file>qss/lightblue/checkbox_unchecked_disable.png</file>
<file>qss/lightblue/checkbox_unchecked.png</file>
<file>qss/lightblue/menu_checked.png</file>
<file>qss/lightblue/radiobutton_checked_disable.png</file>
<file>qss/lightblue/radiobutton_checked.png</file>
<file>qss/lightblue/radiobutton_unchecked_disable.png</file>
<file>qss/lightblue/radiobutton_unchecked.png</file>
<file>qss/softpink.css</file>
<file>qss/softpink/add_bottom.png</file>
<file>qss/softpink/add_left.png</file>
<file>qss/softpink/add_right.png</file>
<file>qss/softpink/add_top.png</file>
<file>qss/softpink/arrow_bottom.png</file>
<file>qss/softpink/arrow_left.png</file>
<file>qss/softpink/arrow_right.png</file>
<file>qss/softpink/arrow_top.png</file>
<file>qss/softpink/branch_close.png</file>
<file>qss/softpink/branch_open.png</file>
<file>qss/softpink/calendar_nextmonth.png</file>
<file>qss/softpink/calendar_prevmonth.png</file>
<file>qss/softpink/checkbox_checked.png</file>
<file>qss/softpink/checkbox_checked_disable.png</file>
<file>qss/softpink/checkbox_parcial.png</file>
<file>qss/softpink/checkbox_parcial_disable.png</file>
<file>qss/softpink/checkbox_unchecked.png</file>
<file>qss/softpink/checkbox_unchecked_disable.png</file>
<file>qss/softpink/menu_checked.png</file>
<file>qss/softpink/radiobutton_checked.png</file>
<file>qss/softpink/radiobutton_checked_disable.png</file>
<file>qss/softpink/radiobutton_unchecked.png</file>
<file>qss/softpink/radiobutton_unchecked_disable.png</file>
</qresource>
</RCC>
Loading