deskflow/src/apps/deskflow-gui/dialogs/ServerConfigDialog.ui

1243 lines
39 KiB
Text
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ServerConfigDialog</class>
<widget class="QDialog" name="ServerConfigDialog">
<property name="geometry">
2012-06-10 16:50:54 +00:00
<rect>
<x>0</x>
<y>0</y>
<width>814</width>
<height>588</height>
2012-06-10 16:50:54 +00:00
</rect>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="windowTitle">
2012-06-10 16:50:54 +00:00
<string>Server Configuration</string>
</property>
<layout class="QVBoxLayout">
2012-06-10 16:50:54 +00:00
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
<number>0</number>
2012-06-10 16:50:54 +00:00
</property>
<widget class="QWidget" name="tabComputers">
<attribute name="title">
2021-05-14 11:04:20 +00:00
<string>Computers</string>
2012-06-10 16:50:54 +00:00
</attribute>
<layout class="QVBoxLayout">
2021-04-09 10:23:07 +00:00
<property name="leftMargin">
<number>6</number>
</property>
<property name="topMargin">
<number>5</number>
</property>
<property name="rightMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>5</number>
</property>
2012-06-10 16:50:54 +00:00
<item>
<layout class="QHBoxLayout" name="layoutComputers">
<property name="spacing">
<number>6</number>
</property>
2012-06-10 16:50:54 +00:00
<item>
<widget class="TrashScreenWidget" name="lblRemoveScreen">
<property name="acceptDrops">
2012-06-10 16:50:54 +00:00
<bool>true</bool>
</property>
<property name="toolTip">
<string>Drag a computer from the grid to the trashcan to remove it.</string>
2012-06-10 16:50:54 +00:00
</property>
<property name="frameShape">
2025-01-30 04:45:28 +00:00
<enum>QFrame::Shape::StyledPanel</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="frameShadow">
2025-01-30 04:45:28 +00:00
<enum>QFrame::Shadow::Raised</enum>
2012-06-10 16:50:54 +00:00
</property>
</widget>
</item>
2021-04-09 10:00:10 +00:00
<item>
Refactored core process management and IPC client (#7425) * Also ignore `command_pre` for Fedora itself * Improve warning message * Fixed layout issues on main window * Restore fusion theme for Windows dark mode * Further correct main window layout * Set CWD for launch on Windows to same dir as .env * Use signals for tray icon instead of callback * Reduce complexity for setting tray icon * Further reduce tray icon complexity * Reduce tray retry time * Fixed tray not showing on macOS * Refactor function names * Move tray icon to lib * Decouple server connection class * Move server connection to lib * Move client config to lib * Remove redundant forward declarations * Fixed some namespaces in the new lib * Move core process code to new class * Improve member names on new process class * Remove copy/pasta code * Move OSX helpers to lib * Add .mm to lib config * Fixed copyright * Improve reliability of log line handling * Fixed TLS certificate generate bugs * Remove client list * Refactor core process handling to fix various problems * Fixed process/connection status bugs * Fixed function signature issue on macOS * Fixed override warnings * Fixed string format warning * Save `wasStarted` state and use that instead * Use only filename in dialog * Use lambda for simple slot * Scroll to bottom if at bottome * Set value based on position before text added and set horizontal scroll too * Add 1px tollerance for Linux * Simplify start/stop mutex * Always stop service on restart * Increase scroll bottom threshold to 2 * Log warning instead of critical * Fixed long-standing dir CD-up hack * Remove include * Remove include * Fixed rogue dumbisense includes * Account for optional distro_like * Add QAction include to solve incomplete type * Remove rogue #pragma * Static cast log value * Solve event queue delete warning * Fixed integ test on Windows 10 * Reduce enum verbosity * Use static instance instead of global * Make function const * Use unique_ptr instead of new and delete, and made some functions const * Fixed smart pointer use * Fixed variable shadowing * Fixed wrong use of using * Fixed missing namespace using * Simplify TLS error handling * Improve UX around certificate errors and success * Decouple app config from core process through interface * First iteration of core process test * Mark dtor as override * Rename attach launch entry * Add TODO * Create proxy for process * Move IPC client to deps * Fixed warnings * Reorganize new GUI lib dir structure * Update includes to reflect new paths * Reorg GUI tests * Abstract IPC client * Refactor about screen * Fixed .ui warnings * Remove redundant include * Fixed typo * Fixed typos and add spelling * Fixed misleading function name * Improve comment * Improve code coverage for core process * Remove noisy log line * Make global const * Use default dtor * Use vector instead of new * Make ctor explicit * Make ctor explicit (2) * Use enum class * Fixed bad enum * Stub out core tool * Stub out dir operation * Extract byte functions * Add missing return path * Simplify byte/int functions * Fix truncation * Use ctor member assignment * Fixed segfault in process proxy * Fixed print warning * Make function const * Cleanup header * Fixed missing name * Update ChangeLog * Make more functions const
2024-08-07 14:05:18 +00:00
<spacer name="horizontalSpacer_21">
2021-04-09 10:00:10 +00:00
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
2021-04-09 10:00:10 +00:00
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
2012-06-10 16:50:54 +00:00
<item>
<widget class="QLabel" name="label_2">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
2012-06-10 16:50:54 +00:00
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
2021-04-09 10:00:10 +00:00
<property name="maximumSize">
<size>
<width>310</width>
<height>16777215</height>
</size>
</property>
<property name="text">
<string>Configure the layout of your computer displays by dragging to where you want.</string>
2012-06-10 16:50:54 +00:00
</property>
<property name="alignment">
2025-01-30 04:45:28 +00:00
<set>Qt::AlignmentFlag::AlignCenter</set>
2012-06-10 16:50:54 +00:00
</property>
<property name="wordWrap">
2012-06-10 16:50:54 +00:00
<bool>true</bool>
</property>
2021-04-09 10:00:10 +00:00
<property name="indent">
<number>-1</number>
</property>
2012-06-10 16:50:54 +00:00
</widget>
</item>
<item>
Refactored core process management and IPC client (#7425) * Also ignore `command_pre` for Fedora itself * Improve warning message * Fixed layout issues on main window * Restore fusion theme for Windows dark mode * Further correct main window layout * Set CWD for launch on Windows to same dir as .env * Use signals for tray icon instead of callback * Reduce complexity for setting tray icon * Further reduce tray icon complexity * Reduce tray retry time * Fixed tray not showing on macOS * Refactor function names * Move tray icon to lib * Decouple server connection class * Move server connection to lib * Move client config to lib * Remove redundant forward declarations * Fixed some namespaces in the new lib * Move core process code to new class * Improve member names on new process class * Remove copy/pasta code * Move OSX helpers to lib * Add .mm to lib config * Fixed copyright * Improve reliability of log line handling * Fixed TLS certificate generate bugs * Remove client list * Refactor core process handling to fix various problems * Fixed process/connection status bugs * Fixed function signature issue on macOS * Fixed override warnings * Fixed string format warning * Save `wasStarted` state and use that instead * Use only filename in dialog * Use lambda for simple slot * Scroll to bottom if at bottome * Set value based on position before text added and set horizontal scroll too * Add 1px tollerance for Linux * Simplify start/stop mutex * Always stop service on restart * Increase scroll bottom threshold to 2 * Log warning instead of critical * Fixed long-standing dir CD-up hack * Remove include * Remove include * Fixed rogue dumbisense includes * Account for optional distro_like * Add QAction include to solve incomplete type * Remove rogue #pragma * Static cast log value * Solve event queue delete warning * Fixed integ test on Windows 10 * Reduce enum verbosity * Use static instance instead of global * Make function const * Use unique_ptr instead of new and delete, and made some functions const * Fixed smart pointer use * Fixed variable shadowing * Fixed wrong use of using * Fixed missing namespace using * Simplify TLS error handling * Improve UX around certificate errors and success * Decouple app config from core process through interface * First iteration of core process test * Mark dtor as override * Rename attach launch entry * Add TODO * Create proxy for process * Move IPC client to deps * Fixed warnings * Reorganize new GUI lib dir structure * Update includes to reflect new paths * Reorg GUI tests * Abstract IPC client * Refactor about screen * Fixed .ui warnings * Remove redundant include * Fixed typo * Fixed typos and add spelling * Fixed misleading function name * Improve comment * Improve code coverage for core process * Remove noisy log line * Make global const * Use default dtor * Use vector instead of new * Make ctor explicit * Make ctor explicit (2) * Use enum class * Fixed bad enum * Stub out core tool * Stub out dir operation * Extract byte functions * Add missing return path * Simplify byte/int functions * Fix truncation * Use ctor member assignment * Fixed segfault in process proxy * Fixed print warning * Make function const * Cleanup header * Fixed missing name * Update ChangeLog * Make more functions const
2024-08-07 14:05:18 +00:00
<spacer name="horizontalSpacer_22">
2021-04-09 10:00:10 +00:00
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
2012-06-10 16:50:54 +00:00
</property>
2021-04-09 10:00:10 +00:00
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
2012-06-10 16:50:54 +00:00
</property>
2021-04-09 10:00:10 +00:00
</spacer>
</item>
2025-01-30 04:45:28 +00:00
<item>
<widget class="NewScreenWidget" name="lblNewScreen">
<property name="toolTip">
<string>Drag to the grid to add a new computer.</string>
2025-01-30 04:45:28 +00:00
</property>
<property name="frameShape">
<enum>QFrame::Shape::StyledPanel</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum>
2012-06-10 16:50:54 +00:00
</property>
</widget>
2012-06-10 16:50:54 +00:00
</item>
</layout>
</item>
2021-04-09 10:59:10 +00:00
<item>
<spacer name="verticalSpacer">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
2021-04-09 10:59:10 +00:00
</property>
<property name="sizeType">
2025-01-30 04:45:28 +00:00
<enum>QSizePolicy::Policy::Fixed</enum>
2021-04-09 10:59:10 +00:00
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
2012-06-10 16:50:54 +00:00
<item>
<widget class="ScreenSetupView" name="screenSetupView">
2021-04-09 10:59:10 +00:00
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="acceptDrops">
2012-06-10 16:50:54 +00:00
<bool>true</bool>
</property>
<property name="autoFillBackground">
2012-06-10 16:50:54 +00:00
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="m_pTabHotkeys">
<attribute name="title">
2012-06-10 16:50:54 +00:00
<string>Hotkeys</string>
</attribute>
<layout class="QHBoxLayout">
2012-06-10 16:50:54 +00:00
<item>
<widget class="QGroupBox" name="groupBox">
<property name="font">
<font>
<kerning>false</kerning>
</font>
</property>
<property name="title">
2012-06-10 16:50:54 +00:00
<string>&amp;Hotkeys</string>
</property>
<layout class="QGridLayout">
<item row="0" column="0" rowspan="4">
<widget class="QListWidget" name="m_pListHotkeys"/>
2012-06-10 16:50:54 +00:00
</item>
<item row="0" column="1">
<widget class="QPushButton" name="m_pButtonNewHotkey">
<property name="enabled">
2012-06-10 16:50:54 +00:00
<bool>true</bool>
</property>
<property name="text">
2012-06-10 16:50:54 +00:00
<string>&amp;New</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="m_pButtonEditHotkey">
<property name="enabled">
2012-06-10 16:50:54 +00:00
<bool>false</bool>
</property>
<property name="text">
2012-06-10 16:50:54 +00:00
<string>&amp;Edit</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="m_pButtonRemoveHotkey">
<property name="enabled">
2012-06-10 16:50:54 +00:00
<bool>false</bool>
</property>
<property name="text">
2012-06-10 16:50:54 +00:00
<string>&amp;Remove</string>
</property>
</widget>
</item>
<item row="3" column="1">
2012-06-10 16:50:54 +00:00
<spacer>
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="sizeHint" stdset="0">
2012-06-10 16:50:54 +00:00
<size>
<width>75</width>
<height>161</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="font">
<font>
<kerning>true</kerning>
</font>
</property>
<property name="title">
2012-06-10 16:50:54 +00:00
<string>A&amp;ctions</string>
</property>
<layout class="QGridLayout">
<item row="0" column="0" rowspan="4">
<widget class="QListWidget" name="m_pListActions"/>
2012-06-10 16:50:54 +00:00
</item>
<item row="0" column="1">
<widget class="QPushButton" name="m_pButtonNewAction">
<property name="enabled">
2012-06-10 16:50:54 +00:00
<bool>false</bool>
</property>
<property name="text">
2012-06-10 16:50:54 +00:00
<string>Ne&amp;w</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="m_pButtonEditAction">
<property name="enabled">
2012-06-10 16:50:54 +00:00
<bool>false</bool>
</property>
<property name="text">
2012-06-10 16:50:54 +00:00
<string>E&amp;dit</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="m_pButtonRemoveAction">
<property name="enabled">
2012-06-10 16:50:54 +00:00
<bool>false</bool>
</property>
<property name="text">
2012-06-10 16:50:54 +00:00
<string>Re&amp;move</string>
</property>
</widget>
</item>
<item row="3" column="1">
2012-06-10 16:50:54 +00:00
<spacer>
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="sizeHint" stdset="0">
2012-06-10 16:50:54 +00:00
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="m_pTabAdvanced">
<attribute name="title">
<string>Advanced</string>
2012-06-10 16:50:54 +00:00
</attribute>
<layout class="QGridLayout" name="m_pGridCorners">
<item row="0" column="1">
<widget class="QGroupBox" name="m_pGroupCorners">
<property name="font">
<font>
<kerning>true</kerning>
</font>
</property>
<property name="title">
<string>&amp;Dead corners (for this computer)</string>
2012-06-10 16:50:54 +00:00
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_6">
<property name="topMargin">
<number>6</number>
</property>
<item>
<layout class="QGridLayout" name="m_pLayoutCorners">
<item row="1" column="0">
<widget class="QCheckBox" name="m_pCheckBoxCornerBottomLeft">
<property name="text">
<string>&amp;Bottom-left</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="m_pCheckBoxCornerTopLeft">
<property name="text">
<string>To&amp;p-left</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="m_pCheckBoxCornerBottomRight">
<property name="text">
<string>Bottom-ri&amp;ght</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QCheckBox" name="m_pCheckBoxCornerTopRight">
<property name="text">
<string>Top-rig&amp;ht</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="m_pLayoutCornerSize">
2012-06-10 16:50:54 +00:00
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Cor&amp;ner size</string>
</property>
<property name="buddy">
<cstring>m_pSpinBoxSwitchCornerSize</cstring>
2012-06-10 16:50:54 +00:00
</property>
</widget>
2012-06-10 16:50:54 +00:00
</item>
<item>
<spacer name="horizontalSpacer_7">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="sizeHint" stdset="0">
2012-06-10 16:50:54 +00:00
<size>
<width>40</width>
<height>20</height>
2012-06-10 16:50:54 +00:00
</size>
</property>
</spacer>
</item>
<item>
<widget class="QSpinBox" name="m_pSpinBoxSwitchCornerSize">
<property name="maximum">
<number>30000</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_3">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>px</string>
</property>
</widget>
</item>
2012-06-10 16:50:54 +00:00
</layout>
</item>
<item>
<spacer name="verticalSpacer_7">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2012-06-10 16:50:54 +00:00
</item>
<item row="0" column="0">
<widget class="QGroupBox" name="m_pGroupOptions">
<property name="font">
<font>
<kerning>false</kerning>
</font>
</property>
<property name="title">
<string>&amp;Misc</string>
2012-06-10 16:50:54 +00:00
</property>
<layout class="QVBoxLayout" name="verticalLayout_4">
<item>
<widget class="QCheckBox" name="m_pCheckBoxDisableLockToScreen">
<property name="text">
<string>Disable lock to computer (scroll lock key)</string>
2012-06-10 16:50:54 +00:00
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="m_pCheckBoxRelativeMouseMoves">
<property name="enabled">
<bool>true</bool>
2012-06-10 16:50:54 +00:00
</property>
<property name="text">
<string>Use &amp;relative mouse movements</string>
2012-06-10 16:50:54 +00:00
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="m_pCheckBoxWin32KeepForeground">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Don't take &amp;foreground window (Windows only)</string>
2012-06-10 16:50:54 +00:00
</property>
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="m_pLayoutClipboard">
<property name="spacing">
<number>6</number>
</property>
2012-06-10 16:50:54 +00:00
<item>
<widget class="QCheckBox" name="m_pCheckBoxEnableClipboard">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Enable clipboard sharing</string>
2012-06-10 16:50:54 +00:00
</property>
<property name="checked">
<bool>true</bool>
2012-06-10 16:50:54 +00:00
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="label_7">
<property name="text">
<string>Limit:</string>
</property>
</widget>
</item>
<item>
<widget class="QSpinBox" name="m_pSpinBoxClipboardSizeLimit">
<property name="enabled">
<bool>false</bool>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="value">
<number>3</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>MB</string>
</property>
</widget>
2012-06-10 16:50:54 +00:00
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_6">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
2012-06-10 16:50:54 +00:00
</layout>
</widget>
</item>
<item row="1" column="0">
<widget class="QGroupBox" name="m_pGroupNetwork">
<property name="title">
<string>&amp;Network</string>
2012-06-10 16:50:54 +00:00
</property>
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<layout class="QHBoxLayout">
<property name="spacing">
<number>9</number>
</property>
<property name="leftMargin">
<number>0</number>
</property>
<item>
<widget class="QCheckBox" name="m_pCheckBoxHeartbeat">
<property name="enabled">
<bool>true</bool>
</property>
<property name="whatsThis">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Enables the network heartbeat to ping clients every &lt;span style=&quot; font-style:italic;&quot;&gt;n&lt;/span&gt; seconds. This may help to diagnose network problems by retrying the connection if the client becomes unresponsive.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="text">
<string>&amp;Check clients every</string>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QSpinBox" name="m_pSpinBoxHeartbeat">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimum">
<number>1000</number>
</property>
<property name="maximum">
<number>30000</number>
</property>
<property name="singleStep">
<number>1000</number>
</property>
<property name="value">
<number>5000</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="m_pLabel_16">
<property name="text">
<string>ms</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
<widget class="QLabel" name="m_pLabelProtocol">
<property name="whatsThis">
<string>&lt;p&gt;Enables compatibility with programs that use either the Synergy or Barrier protocols:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Deskflow uses the Synergy protocol.&lt;/li&gt;
&lt;li&gt;Input Leap uses the Barrier protocol.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A Deskflow client will automatically use either the Synergy or Barrier protocol depending on the server protocol.&lt;/p&gt;</string>
</property>
<property name="text">
<string>Network protocol</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_8">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QRadioButton" name="m_pRadioProtocolSynergy">
<property name="text">
<string>&amp;Synergy</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="m_pRadioProtocolBarrier">
<property name="text">
<string>&amp;Barrier</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_3">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="1">
<widget class="QGroupBox" name="m_pGroupSwitch">
<property name="font">
<font>
<kerning>true</kerning>
</font>
</property>
<property name="title">
<string>&amp;Switching</string>
</property>
<layout class="QVBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="topMargin">
<number>6</number>
</property>
<property name="bottomMargin">
<number>6</number>
</property>
<item>
<layout class="QHBoxLayout">
<item>
<widget class="QCheckBox" name="m_pCheckBoxSwitchDelay">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Switch &amp;after waiting</string>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QSpinBox" name="m_pSpinBoxSwitchDelay">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimum">
<number>10</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
<property name="value">
<number>250</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="m_pLabel_14">
<property name="text">
<string>ms</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout">
<item>
<widget class="QCheckBox" name="m_pCheckBoxSwitchDoubleTap">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>Switch on double &amp;tap within</string>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QSpinBox" name="m_pSpinBoxSwitchDoubleTap">
<property name="enabled">
<bool>false</bool>
</property>
<property name="minimum">
<number>10</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="singleStep">
<number>10</number>
</property>
<property name="value">
<number>250</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="m_pLabel_15">
<property name="text">
<string>ms</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_5">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2012-06-10 16:50:54 +00:00
</item>
<item row="2" column="0">
<spacer name="verticalSpacer_2">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="sizeHint" stdset="0">
2012-06-10 16:50:54 +00:00
<size>
<width>20</width>
<height>40</height>
2012-06-10 16:50:54 +00:00
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="m_pTabAdvancedConfig">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<attribute name="title">
<string>Config file</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_2">
<property name="spacing">
<number>15</number>
</property>
<property name="leftMargin">
<number>120</number>
</property>
<property name="topMargin">
<number>30</number>
</property>
<property name="rightMargin">
<number>120</number>
</property>
2025-01-30 04:45:28 +00:00
<item alignment="Qt::AlignmentFlag::AlignHCenter">
<widget class="QLabel" name="label_5">
<property name="font">
<font>
<pointsize>18</pointsize>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Core server config file</string>
</property>
<property name="textFormat">
2025-01-30 04:45:28 +00:00
<enum>Qt::TextFormat::PlainText</enum>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_6">
<property name="text">
<string>Use a server config file to create complex computer layouts that are not possible with the simple grid-based computer layout editor.
Enabling this setting will disable the server config GUI.</string>
</property>
<property name="textFormat">
2025-01-30 04:45:28 +00:00
<enum>Qt::TextFormat::MarkdownText</enum>
</property>
<property name="alignment">
2025-01-30 04:45:28 +00:00
<set>Qt::AlignmentFlag::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer_4">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeType">
2025-01-30 04:45:28 +00:00
<enum>QSizePolicy::Policy::Maximum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>30</height>
</size>
</property>
</spacer>
</item>
<item>
<layout class="QHBoxLayout" name="m_pLayoutConfigCheckbox">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
2025-01-30 04:45:28 +00:00
<enum>QSizePolicy::Policy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QCheckBox" name="m_pCheckBoxUseExternalConfig">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>300</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Use a server config file</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
2025-01-30 04:45:28 +00:00
<enum>QSizePolicy::Policy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="m_pLayoutConfigPath">
<property name="leftMargin">
<number>40</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
2025-01-30 04:45:28 +00:00
<enum>QSizePolicy::Policy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLabel" name="m_pLabelConfigFile">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>96</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>Config file path</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
2025-01-30 04:45:28 +00:00
<enum>QSizePolicy::Policy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>10</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item>
<widget class="QLineEdit" name="m_pEditConfigFile">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>180</width>
<height>0</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="m_pButtonBrowseConfigFile">
<property name="enabled">
<bool>false</bool>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="cursor">
<cursorShape>PointingHandCursor</cursorShape>
</property>
<property name="text">
<string/>
</property>
<property name="flat">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_5">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
</property>
<property name="sizeType">
2025-01-30 04:45:28 +00:00
<enum>QSizePolicy::Policy::Expanding</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
<item>
Refactored core process management and IPC client (#7425) * Also ignore `command_pre` for Fedora itself * Improve warning message * Fixed layout issues on main window * Restore fusion theme for Windows dark mode * Further correct main window layout * Set CWD for launch on Windows to same dir as .env * Use signals for tray icon instead of callback * Reduce complexity for setting tray icon * Further reduce tray icon complexity * Reduce tray retry time * Fixed tray not showing on macOS * Refactor function names * Move tray icon to lib * Decouple server connection class * Move server connection to lib * Move client config to lib * Remove redundant forward declarations * Fixed some namespaces in the new lib * Move core process code to new class * Improve member names on new process class * Remove copy/pasta code * Move OSX helpers to lib * Add .mm to lib config * Fixed copyright * Improve reliability of log line handling * Fixed TLS certificate generate bugs * Remove client list * Refactor core process handling to fix various problems * Fixed process/connection status bugs * Fixed function signature issue on macOS * Fixed override warnings * Fixed string format warning * Save `wasStarted` state and use that instead * Use only filename in dialog * Use lambda for simple slot * Scroll to bottom if at bottome * Set value based on position before text added and set horizontal scroll too * Add 1px tollerance for Linux * Simplify start/stop mutex * Always stop service on restart * Increase scroll bottom threshold to 2 * Log warning instead of critical * Fixed long-standing dir CD-up hack * Remove include * Remove include * Fixed rogue dumbisense includes * Account for optional distro_like * Add QAction include to solve incomplete type * Remove rogue #pragma * Static cast log value * Solve event queue delete warning * Fixed integ test on Windows 10 * Reduce enum verbosity * Use static instance instead of global * Make function const * Use unique_ptr instead of new and delete, and made some functions const * Fixed smart pointer use * Fixed variable shadowing * Fixed wrong use of using * Fixed missing namespace using * Simplify TLS error handling * Improve UX around certificate errors and success * Decouple app config from core process through interface * First iteration of core process test * Mark dtor as override * Rename attach launch entry * Add TODO * Create proxy for process * Move IPC client to deps * Fixed warnings * Reorganize new GUI lib dir structure * Update includes to reflect new paths * Reorg GUI tests * Abstract IPC client * Refactor about screen * Fixed .ui warnings * Remove redundant include * Fixed typo * Fixed typos and add spelling * Fixed misleading function name * Improve comment * Improve code coverage for core process * Remove noisy log line * Make global const * Use default dtor * Use vector instead of new * Make ctor explicit * Make ctor explicit (2) * Use enum class * Fixed bad enum * Stub out core tool * Stub out dir operation * Extract byte functions * Add missing return path * Simplify byte/int functions * Fix truncation * Use ctor member assignment * Fixed segfault in process proxy * Fixed print warning * Make function const * Cleanup header * Fixed missing name * Update ChangeLog * Make more functions const
2024-08-07 14:05:18 +00:00
<spacer name="verticalSpacer_1">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2012-06-10 16:50:54 +00:00
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
2025-01-30 04:45:28 +00:00
<enum>Qt::Orientation::Horizontal</enum>
2012-06-10 16:50:54 +00:00
</property>
<property name="standardButtons">
2025-01-30 04:45:28 +00:00
<set>QDialogButtonBox::StandardButton::Cancel|QDialogButtonBox::StandardButton::Ok</set>
2012-06-10 16:50:54 +00:00
</property>
</widget>
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
<class>ScreenSetupView</class>
<extends>QTableView</extends>
<header>widgets/ScreenSetupView.h</header>
2012-06-10 16:50:54 +00:00
<container>1</container>
</customwidget>
<customwidget>
<class>TrashScreenWidget</class>
<extends>QLabel</extends>
<header>widgets/TrashScreenWidget.h</header>
2012-06-10 16:50:54 +00:00
</customwidget>
2025-01-30 04:45:28 +00:00
<customwidget>
<class>NewScreenWidget</class>
<extends>QLabel</extends>
<header>widgets/NewScreenWidget.h</header>
</customwidget>
2012-06-10 16:50:54 +00:00
</customwidgets>
<tabstops>
<tabstop>m_pButtonBrowseConfigFile</tabstop>
<tabstop>screenSetupView</tabstop>
<tabstop>m_pListHotkeys</tabstop>
<tabstop>m_pButtonNewHotkey</tabstop>
<tabstop>m_pButtonEditHotkey</tabstop>
<tabstop>m_pButtonRemoveHotkey</tabstop>
<tabstop>m_pListActions</tabstop>
<tabstop>m_pButtonNewAction</tabstop>
<tabstop>m_pButtonEditAction</tabstop>
<tabstop>m_pButtonRemoveAction</tabstop>
<tabstop>m_pCheckBoxSwitchDelay</tabstop>
<tabstop>m_pSpinBoxSwitchDelay</tabstop>
<tabstop>m_pCheckBoxSwitchDoubleTap</tabstop>
<tabstop>m_pSpinBoxSwitchDoubleTap</tabstop>
<tabstop>m_pCheckBoxEnableClipboard</tabstop>
<tabstop>m_pSpinBoxClipboardSizeLimit</tabstop>
<tabstop>m_pCheckBoxHeartbeat</tabstop>
<tabstop>m_pSpinBoxHeartbeat</tabstop>
<tabstop>m_pCheckBoxRelativeMouseMoves</tabstop>
<tabstop>m_pSpinBoxSwitchCornerSize</tabstop>
<tabstop>m_pCheckBoxUseExternalConfig</tabstop>
<tabstop>m_pEditConfigFile</tabstop>
<tabstop>tabWidget</tabstop>
</tabstops>
<resources/>
2012-06-10 16:50:54 +00:00
<connections>
<connection>
<sender>m_pCheckBoxSwitchDelay</sender>
<signal>toggled(bool)</signal>
<receiver>m_pSpinBoxSwitchDelay</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>76</x>
<y>88</y>
2012-06-10 16:50:54 +00:00
</hint>
<hint type="destinationlabel">
<x>86</x>
<y>88</y>
2012-06-10 16:50:54 +00:00
</hint>
</hints>
</connection>
<connection>
<sender>m_pCheckBoxSwitchDoubleTap</sender>
<signal>toggled(bool)</signal>
<receiver>m_pSpinBoxSwitchDoubleTap</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>76</x>
<y>81</y>
2012-06-10 16:50:54 +00:00
</hint>
<hint type="destinationlabel">
<x>86</x>
<y>81</y>
2012-06-10 16:50:54 +00:00
</hint>
</hints>
</connection>
<connection>
<sender>m_pCheckBoxHeartbeat</sender>
<signal>toggled(bool)</signal>
<receiver>m_pSpinBoxHeartbeat</receiver>
<slot>setEnabled(bool)</slot>
<hints>
<hint type="sourcelabel">
<x>32</x>
<y>91</y>
2012-06-10 16:50:54 +00:00
</hint>
<hint type="destinationlabel">
<x>44</x>
<y>91</y>
2012-06-10 16:50:54 +00:00
</hint>
</hints>
</connection>
<connection>
<sender>m_pListHotkeys</sender>
<signal>itemDoubleClicked(QListWidgetItem*)</signal>
<receiver>m_pButtonEditHotkey</receiver>
<slot>click()</slot>
<hints>
<hint type="sourcelabel">
<x>35</x>
<y>84</y>
2012-06-10 16:50:54 +00:00
</hint>
<hint type="destinationlabel">
<x>45</x>
<y>80</y>
2012-06-10 16:50:54 +00:00
</hint>
</hints>
</connection>
<connection>
<sender>m_pListActions</sender>
<signal>itemDoubleClicked(QListWidgetItem*)</signal>
<receiver>m_pButtonEditAction</receiver>
<slot>click()</slot>
<hints>
<hint type="sourcelabel">
<x>79</x>
<y>84</y>
2012-06-10 16:50:54 +00:00
</hint>
<hint type="destinationlabel">
<x>89</x>
<y>80</y>
2012-06-10 16:50:54 +00:00
</hint>
</hints>
</connection>
</connections>
</ui>