mirror of
https://github.com/Qv2ray/Qv2ray.git
synced 2025-05-20 02:40:20 +08:00

* [Update] icons: visual design * [add] Added PNG for macOS * [add] Added macOS icns * [add] Added more icons and do some renamings, #130 this WILL BREAK the build. * [fix] #130 fixed some ui settings * [add] #130 Added more support for new ICONS * [change] #130 #131 Changed MainWindow UI-Merging "ADDConfigBtn", fixed a ScreenShot window issue. Added message in Pref Window. * [fix] Fixed layout of mainwindow * [Windows] More UI Options * [fix] Fixed a typo #130 #131
741 lines
23 KiB
XML
741 lines
23 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<ui version="4.0">
|
|
<class>RouteEditor</class>
|
|
<widget class="QDialog" name="RouteEditor">
|
|
<property name="geometry">
|
|
<rect>
|
|
<x>0</x>
|
|
<y>0</y>
|
|
<width>1010</width>
|
|
<height>625</height>
|
|
</rect>
|
|
</property>
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>1010</width>
|
|
<height>610</height>
|
|
</size>
|
|
</property>
|
|
<property name="windowTitle">
|
|
<string>Route Editor</string>
|
|
</property>
|
|
<property name="modal">
|
|
<bool>true</bool>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_5" rowstretch="2,2,0" columnstretch="4,7">
|
|
<item row="2" column="0" colspan="2">
|
|
<layout class="QHBoxLayout" name="horizontalLayout">
|
|
<item>
|
|
<widget class="QLabel" name="statusLabel">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Expanding" vsizetype="Preferred">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="text">
|
|
<string>Status</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QDialogButtonBox" name="buttonBox">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="standardButtons">
|
|
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QGroupBox" name="groupBox">
|
|
<property name="title">
|
|
<string>Inbound List</string>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_3" rowstretch="1,0">
|
|
<item row="0" column="0" rowspan="2">
|
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
|
<item>
|
|
<widget class="QToolButton" name="addInboundBtn">
|
|
<property name="text">
|
|
<string>A</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="delInboundBtn">
|
|
<property name="text">
|
|
<string>D</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="editInboundBtn">
|
|
<property name="text">
|
|
<string>E</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="addDefaultBtn">
|
|
<property name="text">
|
|
<string>D</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_3">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QListWidget" name="inboundsList"/>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QGroupBox" name="outboundDetailGroup_2">
|
|
<property name="title">
|
|
<string>Inbound Information</string>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_5">
|
|
<item>
|
|
<layout class="QGridLayout" name="gridLayout_8" columnstretch="0,1,0,1">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_9">
|
|
<property name="text">
|
|
<string>Type</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="2">
|
|
<widget class="QLabel" name="label_13">
|
|
<property name="text">
|
|
<string>Port</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QLabel" name="inboundTypeLabel">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="label_12">
|
|
<property name="text">
|
|
<string>Address</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="2">
|
|
<widget class="QLabel" name="label_8">
|
|
<property name="text">
|
|
<string>Tag</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="3">
|
|
<widget class="QLabel" name="inboundTagLabel">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QLabel" name="inboundAddressLabel">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="3">
|
|
<widget class="QLabel" name="inboundPortLabel">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_5">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>31</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QGroupBox" name="groupBox_4">
|
|
<property name="title">
|
|
<string>Outbound List</string>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_4" rowstretch="1,0">
|
|
<item row="0" column="0" rowspan="2">
|
|
<layout class="QVBoxLayout" name="verticalLayout">
|
|
<item>
|
|
<widget class="QToolButton" name="addOutboundBtn">
|
|
<property name="text">
|
|
<string>A</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="delOutboundBtn">
|
|
<property name="text">
|
|
<string>D</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="editOutboundBtn">
|
|
<property name="text">
|
|
<string>E</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="insertDirectBtn">
|
|
<property name="text">
|
|
<string>F</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="insertBlackBtn">
|
|
<property name="text">
|
|
<string>B</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_2">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QListWidget" name="outboundsList">
|
|
<property name="editTriggers">
|
|
<set>QAbstractItemView::NoEditTriggers</set>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QGroupBox" name="outboundDetailGroup">
|
|
<property name="title">
|
|
<string>Outbound Information</string>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_4">
|
|
<item>
|
|
<layout class="QGridLayout" name="gridLayout_7" columnstretch="0,1,0,1">
|
|
<item row="0" column="3">
|
|
<widget class="QLabel" name="outboundTagLabel">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="2">
|
|
<widget class="QLabel" name="label">
|
|
<property name="text">
|
|
<string>Tag</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_7">
|
|
<property name="text">
|
|
<string>Type</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QLabel" name="outboundTypeLabel">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="label_3">
|
|
<property name="text">
|
|
<string>Address</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QLabel" name="outboundAddressLabel">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="2">
|
|
<widget class="QLabel" name="label_5">
|
|
<property name="text">
|
|
<string>Port</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="3">
|
|
<widget class="QLabel" name="outboundPortLabel">
|
|
<property name="text">
|
|
<string/>
|
|
</property>
|
|
<property name="wordWrap">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_4">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1" rowspan="2">
|
|
<widget class="QGroupBox" name="groupBox_3">
|
|
<property name="title">
|
|
<string>Routes</string>
|
|
</property>
|
|
<layout class="QVBoxLayout" name="verticalLayout_3" stretch="4,0,2">
|
|
<item>
|
|
<widget class="QTableWidget" name="routesTable">
|
|
<property name="editTriggers">
|
|
<set>QAbstractItemView::NoEditTriggers</set>
|
|
</property>
|
|
<property name="selectionMode">
|
|
<enum>QAbstractItemView::SingleSelection</enum>
|
|
</property>
|
|
<property name="selectionBehavior">
|
|
<enum>QAbstractItemView::SelectRows</enum>
|
|
</property>
|
|
<column>
|
|
<property name="text">
|
|
<string>Enabled</string>
|
|
</property>
|
|
</column>
|
|
<column>
|
|
<property name="text">
|
|
<string>InBounds</string>
|
|
</property>
|
|
</column>
|
|
<column>
|
|
<property name="text">
|
|
<string>Domain/IP</string>
|
|
</property>
|
|
</column>
|
|
<column>
|
|
<property name="text">
|
|
<string>Outbound</string>
|
|
</property>
|
|
</column>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<layout class="QHBoxLayout" name="routesControlButtons">
|
|
<item>
|
|
<spacer name="horizontalSpacer_4">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="addRouteBtn">
|
|
<property name="text">
|
|
<string>...</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset>
|
|
<normaloff>:/icons/add_connection_btn.png</normaloff>:/icons/add_connection_btn.png</iconset>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QToolButton" name="delRouteBtn">
|
|
<property name="text">
|
|
<string>...</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset>
|
|
<normaloff>:/icons/remove_connection_btn.png</normaloff>:/icons/remove_connection_btn.png</iconset>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="horizontalSpacer_3">
|
|
<property name="orientation">
|
|
<enum>Qt::Horizontal</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>40</width>
|
|
<height>20</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item>
|
|
<widget class="QGroupBox" name="groupBox_2">
|
|
<property name="minimumSize">
|
|
<size>
|
|
<width>0</width>
|
|
<height>320</height>
|
|
</size>
|
|
</property>
|
|
<property name="title">
|
|
<string>Route Details</string>
|
|
</property>
|
|
<layout class="QGridLayout" name="gridLayout_6" columnstretch="1,1,1">
|
|
<item row="3" column="1">
|
|
<widget class="QPlainTextEdit" name="hostList"/>
|
|
</item>
|
|
<item row="2" column="2">
|
|
<widget class="QLabel" name="label_4">
|
|
<property name="text">
|
|
<string>Target IP List</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="2">
|
|
<widget class="QLabel" name="label_10">
|
|
<property name="text">
|
|
<string>Source IP Matching List</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QPlainTextEdit" name="routeUserTxt"/>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QLabel" name="label_2">
|
|
<property name="text">
|
|
<string>Target Domain List</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="2">
|
|
<widget class="QPlainTextEdit" name="sourceIPList"/>
|
|
</item>
|
|
<item row="0" column="0" rowspan="4">
|
|
<layout class="QFormLayout" name="formLayout">
|
|
<item row="0" column="0">
|
|
<widget class="QLabel" name="label_17">
|
|
<property name="text">
|
|
<string>Network</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
|
<item>
|
|
<widget class="QRadioButton" name="netTCPRB">
|
|
<property name="text">
|
|
<string>TCP</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QRadioButton" name="netUDPRB">
|
|
<property name="text">
|
|
<string>UDP</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QRadioButton" name="netBothRB">
|
|
<property name="text">
|
|
<string>Both</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="1" column="0">
|
|
<widget class="QLabel" name="label_16">
|
|
<property name="text">
|
|
<string>Protocol</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<layout class="QGridLayout" name="gridLayout">
|
|
<item row="0" column="0">
|
|
<widget class="QCheckBox" name="routeProtocolHTTPCB">
|
|
<property name="text">
|
|
<string>HTTP</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QCheckBox" name="routeProtocolTLSCB">
|
|
<property name="text">
|
|
<string>TLS</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="0" column="2">
|
|
<widget class="QCheckBox" name="routeProtocolBTCB">
|
|
<property name="text">
|
|
<string>BitTorrent</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="2" column="0">
|
|
<widget class="QLabel" name="label_14">
|
|
<property name="text">
|
|
<string>Port</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<widget class="QLineEdit" name="routePortTxt">
|
|
<property name="placeholderText">
|
|
<string>e.g. 80, 443, 8000-8080</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="1">
|
|
<widget class="QCheckBox" name="enableBalancerCB">
|
|
<property name="text">
|
|
<string>Enable Balancers</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="3" column="0">
|
|
<widget class="QLabel" name="label_6">
|
|
<property name="text">
|
|
<string>Balancers</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="4" column="0" colspan="2">
|
|
<layout class="QVBoxLayout" name="verticalLayout_6">
|
|
<item>
|
|
<widget class="QStackedWidget" name="stackedWidget">
|
|
<property name="currentIndex">
|
|
<number>0</number>
|
|
</property>
|
|
<widget class="QWidget" name="page_2">
|
|
<layout class="QVBoxLayout" name="verticalLayout_7">
|
|
<item>
|
|
<widget class="QLabel" name="label_11">
|
|
<property name="text">
|
|
<string>Outbound Tag</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<widget class="QComboBox" name="routeOutboundSelector">
|
|
<property name="sizePolicy">
|
|
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
|
|
<horstretch>0</horstretch>
|
|
<verstretch>0</verstretch>
|
|
</sizepolicy>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item>
|
|
<spacer name="verticalSpacer_6">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<widget class="QWidget" name="page">
|
|
<layout class="QGridLayout" name="gridLayout_9">
|
|
<item row="0" column="0">
|
|
<layout class="QGridLayout" name="gridLayout_2">
|
|
<item row="0" column="0">
|
|
<widget class="QComboBox" name="balancerSelectionCombo">
|
|
<property name="editable">
|
|
<bool>true</bool>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="1" column="0" rowspan="2">
|
|
<widget class="QListWidget" name="balancerList"/>
|
|
</item>
|
|
<item row="1" column="1">
|
|
<widget class="QToolButton" name="balancerDelBtn">
|
|
<property name="text">
|
|
<string>...</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset>
|
|
<normaloff>:/icons/remove_connection_btn.png</normaloff>:/icons/remove_connection_btn.png</iconset>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
<item row="2" column="1">
|
|
<spacer name="verticalSpacer">
|
|
<property name="orientation">
|
|
<enum>Qt::Vertical</enum>
|
|
</property>
|
|
<property name="sizeHint" stdset="0">
|
|
<size>
|
|
<width>20</width>
|
|
<height>40</height>
|
|
</size>
|
|
</property>
|
|
</spacer>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QToolButton" name="balabcerAddBtn">
|
|
<property name="text">
|
|
<string>...</string>
|
|
</property>
|
|
<property name="icon">
|
|
<iconset>
|
|
<normaloff>:/icons/add_connection_btn.png</normaloff>:/icons/add_connection_btn.png</iconset>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
</layout>
|
|
</item>
|
|
<item row="3" column="2">
|
|
<widget class="QPlainTextEdit" name="ipList"/>
|
|
</item>
|
|
<item row="0" column="1">
|
|
<widget class="QLabel" name="label_15">
|
|
<property name="text">
|
|
<string>Users List</string>
|
|
</property>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
</item>
|
|
</layout>
|
|
</widget>
|
|
<resources/>
|
|
<connections>
|
|
<connection>
|
|
<sender>buttonBox</sender>
|
|
<signal>accepted()</signal>
|
|
<receiver>RouteEditor</receiver>
|
|
<slot>accept()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>248</x>
|
|
<y>254</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>157</x>
|
|
<y>274</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
<connection>
|
|
<sender>buttonBox</sender>
|
|
<signal>rejected()</signal>
|
|
<receiver>RouteEditor</receiver>
|
|
<slot>reject()</slot>
|
|
<hints>
|
|
<hint type="sourcelabel">
|
|
<x>316</x>
|
|
<y>260</y>
|
|
</hint>
|
|
<hint type="destinationlabel">
|
|
<x>286</x>
|
|
<y>274</y>
|
|
</hint>
|
|
</hints>
|
|
</connection>
|
|
</connections>
|
|
</ui>
|