Commit Graph

98 Commits

Author SHA1 Message Date
Martchus ead679203f Set margin of search button correctly (to not affect focus scope) 2022-09-06 10:54:04 +02:00
Martchus badfd94a38 Fix right margin of Plasmoid's search button 2022-09-05 23:01:04 +02:00
Martchus 99a7bd1a01 Hide tab texts in Plasmoid by default to avoid problematic overflow behavior 2022-09-05 22:54:28 +02:00
Martchus 36e9e98424 plasmoid: Assign margins in consistency with official Plasmoids
For instance, the NetworkManager Plasmoid uses these margins for its
ListView. It looks probably better than without margins (after removing
paddings with scroll page).
2022-09-01 22:32:17 +02:00
Martchus d079d526ec Avoid ugly padding next to scroll bar in Plasmoid
It is actually just the normal marging/padding Plasmoids normally have but
with the scroll bar it doesn't look good.

The margins would be automatically collapsed if the scroll view was the
immediate content item. However, that's not the case so we need to set the
according property manually using `Plasma.Representation`.
2022-08-25 22:33:30 +02:00
Martchus 788a5b2947 Allow opening dir in file browser if path contains tilde
See https://github.com/Martchus/syncthingtray/issues/148
2022-08-02 20:15:24 +02:00
Martchus 8ec133e62d Make the Plasmoid's Fork Awesome icon coloring react to theme changes
* Make the Fork Awesome image provider URL a property and change its value
  if the Plasmoid's theme changes to cause Qt Quick to redraw images
* Turn caching of Image objects off so Qt Quick actually fetches the images
  again from the image provider
* Change the URL only back after returning to the event loop; otherwise Qt
  Quick apparently does not react to the property change
* See https://github.com/Martchus/syncthingtray/issues/126
2022-05-30 20:36:03 +02:00
Martchus 637bb39806 Fix scroll view of Plasmoid 2022-05-23 23:20:51 +02:00
Martchus 4c920b6418 Avoid further QML warnings of Plasmoid
This should avoid:
```
file:///usr/share/plasma/plasmoids/martchus.syncthingplasmoid-git/contents/ui/main.qml:13:34: QML FullRepresentation: Binding loop detected for property "implicitWidth"
…
qml: PlasmaExtras.ScrollArea is deprecated. Use PlasmaComponents3.ScrollView instead.
…
file:///usr/share/plasma/plasmoids/martchus.syncthingplasmoid-git/contents/ui/TabButton.qml:27:13: Unable to assign [undefined] to QFont
…
file:///usr/share/plasma/plasmoids/martchus.syncthingplasmoid-git/contents/ui/ToolButton.qml:23:13: Unable to assign [undefined] to QFont
```
2022-05-05 20:52:04 +02:00
Martchus dcef2099e5 Remove wrong anchors in Plasmoid leading to QML warnings
This should prevent the following warnings:
```
file:///usr/share/plasma/plasmoids/martchus.syncthingplasmoid/contents/ui/FullRepresentation.qml:284:17: QML DevicesPage: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
file:///usr/share/plasma/plasmoids/martchus.syncthingplasmoid/contents/ui/FullRepresentation.qml:287:17: QML DownloadsPage: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
file:///usr/share/plasma/plasmoids/martchus.syncthingplasmoid/contents/ui/FullRepresentation.qml:290:17: QML RecentChangesPage: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
file:///usr/share/plasma/plasmoids/martchus.syncthingplasmoid/contents/ui/FullRepresentation.qml:281:17: QML DirectoriesPage: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
file:///usr/share/plasma/plasmoids/martchus.syncthingplasmoid/contents/ui/FullRepresentation.qml:284:17: QML DevicesPage: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
file:///usr/share/plasma/plasmoids/martchus.syncthingplasmoid/contents/ui/FullRepresentation.qml:287:17: QML DownloadsPage: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
file:///usr/share/plasma/plasmoids/martchus.syncthingplasmoid/contents/ui/FullRepresentation.qml:290:17: QML RecentChangesPage: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead.
```

See https://github.com/Martchus/syncthingtray/issues/133
2022-05-05 18:56:53 +02:00
Martchus 329a928476 Fix too small tool buttons in Plasmoid
See https://github.com/Martchus/syncthingtray/issues/129
2022-04-09 14:59:34 +02:00
Martchus 28aa9a516c Have directory ID still accessible in recent changes despite showing name
Show it as tool tip and allow copying it via the context menu
2022-04-09 14:52:00 +02:00
Martchus 3d5286bf26 Avoid mixing different icon types in context menu 2022-03-20 17:01:48 +01:00
Martchus 30adde6432 Lower needlessly high version requirement in Plasmoid code 2022-01-24 15:08:12 +01:00
Martchus c44f5e60cf Remove ugly spacing between list and tab buttons in Plasmoid 2022-01-02 01:33:29 +01:00
Martchus 2d27e0758a Improve overflow behavior of statistics in Plasmoid 2022-01-02 01:26:16 +01:00
Martchus b02a3a0c9b Improve tab bar of Plasmoid (use footer and improve sizing of elements) 2021-12-01 18:53:23 +01:00
Martchus cb1071b3ad Improve Plasmoid to make it look more like official Plasmoids
* Use header (with integrated buttons when shown as part of the system tray
  Plasmoid)
* Use less space so it fits into the system tray plasmoid (at least on a
  full HD screen with 96 dpi)
* Show action for internal errors only if there are internal errors (like
  in the Qt Widgets based GUI)
* Port away from deprecated tab bar (which is not used in official
  Plasmoids anymore as well)
* Simplify code for ensuring the minimum size as configured (still does
  not work within the system tray Plasmoid)
2021-11-30 19:43:26 +01:00
Martchus 811c07da6a Fix displaying issues of plasmoid
* Set a certain size for the icons to avoid them from being too big or too
  small
* Fix search button
2021-11-13 22:51:04 +01:00
Martchus 3d2930cb1d Use `file-text` icon for log as it looks more in-line with the other icons 2021-11-13 22:49:45 +01:00
Martchus c1f3e57a9c Use ForkAwesome icons in consistency with Syncthing's official GUI
* Use single cog for settings (instead of cogs)
* Use "refresh" for re-scanning all dirs (instead of search)
2021-11-02 18:01:00 +01:00
Martchus de3205df00 Use ForkAwesome icons also in RecentChangesPage of Plasmoid 2021-10-15 23:16:58 +02:00
Martchus 0651323da4 Use ForkAwesome consistently in Plasmoid as well 2021-10-15 22:18:30 +02:00
Martchus 3bf50fb414 Use Syncthing icon from ForkAwesome for buttons/menus
This should look more consistent than abusing the state-specific "idling"
icon.
2021-10-10 20:44:22 +02:00
Martchus f384d2a496 Use "qrcode" icon from ForkAwesome
It fits better than "view-barcode" from the icon theme. This also tests
using ForkAwesome icons via the custom icon engine. Unfortunately this
does not seem to work within the Plasmoid so far.
2021-09-15 20:37:21 +02:00
Martchus 04a57c7e9f Fix ForkAwesome icons in plasmoid 2021-09-11 20:39:37 +02:00
Martchus 43fcb9f71b Migrate to ForkAwesome
* FontAwesome uses a propritary build system so let's move to its fork
  ForkAwesome similar to Syncthing
    * See https://github.com/syncthing/syncthing/pull/5237
* Bundle the font file instead of having the SVGs directly within
  Syncthing Tray's own repository
2021-09-11 02:20:38 +02:00
Martchus 95800eb1ca Fix setting folder icon in plasmoid's downloads page 2021-08-02 23:38:18 +02:00
Martchus 1ccac1e145 plasmoid: Use `data-error` icon instead of the old `emblem-important`
Loading the icon for the button from resources ceased to work (maybe when
switching to `PlasmaComponents3.ToolButton`). This change works around the
problem and the old icon no longer needs to be bundled.
2021-07-01 18:26:09 +02:00
Martchus 0fc44a9142 Disable pause/resume button within GUI in consistency with official GUI 2021-02-12 20:31:05 +01:00
Martchus 81e9d534e7 plasmoid: Use QQ2 combo box (Plasma components 3 version clips end of text) 2020-11-30 18:25:38 +01:00
Martchus 9df2a17e5c Port Plasmoid to QCC2/PlasmaComponents3 where possible
The following uses of QCC1/PlasmaComponents2 remain:

```
…/DetailView.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Menu and MenuItem
…/DevicesPage.qml:import org.kde.plasma.components 2.0 as PlasmaComponents  // for Menu and MenuItem
…/DirectoriesPage.qml:import org.kde.plasma.components 2.0 as PlasmaComponents  // for Menu and MenuItem
…/DownloadsPage.qml:import org.kde.plasma.components 2.0 as PlasmaComponents  // for Menu and MenuItem
…/FullRepresentation.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for vertical TabBar
…/RecentChangesPage.qml:import org.kde.plasma.components 2.0 as PlasmaComponents  // for Menu and MenuItem
…/TopLevelView.qml:import org.kde.plasma.components 2.0 as PlasmaComponents // for Highlight and DialogStatus.Closed (used with Menu and MenuItem)
```
2020-11-27 19:09:47 +01:00
Martchus 57e9865ace Sort devices by name 2020-10-20 19:36:02 +02:00
Martchus 3e1beaa11d Sort directories by name/ID
* Use the name as sorting criteria and fall back to the ID if there's no
  name
* Use new SyncthingSortFilterDirectoryModel also for Plasmoid's filtering
* See https://github.com/Martchus/syncthingtray/issues/75
2020-10-18 15:48:02 +02:00
Martchus 33b8c8df85 Fix copying device ID in Plasmoid 2020-10-08 16:39:22 +02:00
Martchus aac87621dc Streamline context menus of regular tray application and Plasmoid
* Support triggering actions via the context menu in the regular tray like
  it is already possible in the Plasmoid
* Support copying via the context menu in the Plasmoid like it is already
  possible in the regular tray
* Reduce repetition of coding patterns using templates
2020-10-07 21:42:50 +02:00
Martchus f952ca6ba1 Fix warning about binding loop of with property in Plasmoid code
Specifying the with explicitely on every level seems to fix this. Not sure
whether it is the best solution but Qt 6 will likely mess up everything
anyways so let's not put further effort into the QML stuff at this point.
2020-08-18 01:27:48 +02:00
Martchus a1882317e1 Use default Syncthing icon in Plasmoid context menu
It seems like `plasmoid.nativeInterface.syncthingIcon` doesn't work.
2020-05-31 18:15:55 +02:00
Martchus 5b6b3af5fc Streamline menu entry to open Syncthing in Plasmoid with other places 2020-05-31 00:24:58 +02:00
Martchus 66f8555d0a Support "Recent changes" tab by keyboard navigation in Plasmoid 2020-05-26 18:12:16 +02:00
Martchus 14ddb6d035 Hide connect button while connecting in plasmoid like in widgets-based app 2020-05-25 20:30:39 +02:00
Martchus 65b3261320 Hide connections menu when only one connection is configured
* Make UI look cleaner for the common case of only one configuration
* Save some width to help with
  https://github.com/Martchus/syncthingtray/issues/65 a little bit
2020-04-28 00:10:04 +02:00
Martchus a2695311d4 Fix QML warnings in TinyButtonStyle.qml 2020-04-27 23:47:52 +02:00
Martchus 8971f294e8 Improve Plasmoid's connections menu further 2020-04-14 18:15:30 +02:00
Martchus 50a3299254 Use good old for loop to populate connections menu of plasmoid
It seems like the "Instantiator" does not do the right thing here as for
the QCC1 menu leading to segfaults.
2020-04-13 03:26:10 +02:00
Martchus fca8ccad4d Use PlasmaComponents.Menu instead of ugly default QCC1 Menu 2020-04-13 02:46:13 +02:00
Martchus 356a4d7304 Fix resume/pause icon in plasmoid 2020-04-13 02:04:20 +02:00
Martchus ed4d1fc213 Use idle status icon for button to open Syncthing web UI
That looks more consistent, especially when using a dark color theme
where the default Syncthing icon doesn't fit in very well.
2020-04-12 23:16:26 +02:00
Martchus d50cdf3a06 Use consistent icon for rescanning all folders in plasmoid 2020-03-26 22:48:54 +01:00
Martchus 94753de797 Fix start/stop button tooltip for system-wide systemd service 2020-02-02 19:51:16 +01:00