summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* properties-window: Make main page scroll verticallywip/antoniof/modernize-properties-dialogAntónio Fernandes2022-01-021-522/+528
| | | | | With the new design, the main page sometimes gets very tall. Make it scroll if it doesn't fit the screen.
* properties-window: use GtkStack for navigationPeter Eisenmann2022-01-022-95/+245
| | | | | | | | | Replace the tabbed GtkNotebook view with inlined navigation rows that link to subpages and a back button that allows navigating back. Also, remove now-inadequate .view style class. Part of #1258
* properties-window: Stop using GtkGrid for propertiesAntónio Fernandes2022-01-022-196/+150
| | | | | | | | The height-for-width interaction between permission rows and the grid, with the list box spanning two columns, is buggy. Port the remaining element (the "Others" label) to a list row and use the vertical GtkBox directly, with no GtkGrid interposed.
* properties-window: use AdwActionRow for security contextPeter Eisenmann2022-01-022-22/+18
| | | | | | Wrap the security context label in an AdwActionRow. Part of #1326
* properties-window: use AdwActionRow and GtkSwitch for executable bitPeter Eisenmann2022-01-022-191/+131
| | | | | | | | | | | | | For a simpler user interface represent the executable bit with a GtkSwitch. The previously used GtkCheckButton had an "inconsistent" state, which was used when the executable bit was not set for all files or not set for all of user/group/other. Since GtkSwitch does not have such a special state, a separate GtkRevealer combined with a tooltip is used to handle this case. Part of #1326
* properties-window: use AdwComboRow for groupPeter Eisenmann2022-01-022-244/+83
| | | | | | | | | | Replace group GtkComboBox with AdwComboRow. Reuse functionality added for previous adaption of the owner row. This implementation allows to enable the dropdown based on current file permissions. Part of #1326
* properties-window: use AdwComboRow for ownerPeter Eisenmann2022-01-022-227/+190
| | | | | | | | | | | Replace owner GtkComboBox with AdwComboRow. The underlying model only stores strings returned by nautilus_get_user_names, instead of structured data. On owner changes, the user name is extracted ad-hoc. The implementaiton uses multiple helper functions, meant to be reused for the group ownership adaption. Part of #1326
* properties-window: directly printable user namePeter Eisenmann2022-01-022-17/+17
| | | | | | | | | | Use a dash with spaces to separate user names and display names, rather than line breaks and splitting and recombining the string. For now the user name is still extracted for each entry, with the adaption to GListModel this will only be done when needed. Part of #1326
* properties-window: detect changed user via hashPeter Eisenmann2022-01-021-50/+27
| | | | | | | | | | | When creating the drop down list of owners, store a hash value of the used user names. Use this hash value to detect if the users of the system have changed and the list needs to be recreated. This removes a dependency on GtkTreeModel, easing future adaption to GListModel. Part of #1326
* properties-window: use AdwComboRow for permissionsPeter Eisenmann2022-01-022-463/+400
| | | | | | | | | | | | | | Replace the previous GtkComboBox widgets for permissions with AdwComboRow. This requires changing the underlying model from a GtkTreeModel with indexed columns, to a GListModel and a helper struct NautilusPermissionEntry. Additionally permission description strings are now centralized via the permission_value_to_string helper function. This replaces the previous approach of piecing together strings for non-default options, allowing for simpler translations and shared strings. Part of #1326
* properties-window: calculate permissions once per updatePeter Eisenmann2022-01-021-115/+109
| | | | | | | | | | | Previously every call to permission_combo_update() calculated combined permissions of all target files, independent of whether they were actually used. With this change combined permission are only calculated once and provided, in the form of a new TargetPermissions struct, to each combo box. Additionally, a new PermissionValue to represent inconsistent permission states was added, to avoid tracking this via a separate boolean.
* properties-window: move permissions related code snippets aroundPeter Eisenmann2022-01-021-90/+89
| | | | | | This commit moves around some code snippets, partly to have functions declared before their (future) usage and partly in preparation for further changes.
* properties-window: add PERMISSION_NONE for readabilityPeter Eisenmann2022-01-021-4/+5
| | | | | Add PERMISSION_NONE to PermissionValue enum and use it instead of `0` for clearer naming of passed parameters.
* properties-window: use FilterType instead of gbooleanPeter Eisenmann2022-01-021-118/+118
| | | | | | | | | The gboolean "is-folder" stored as GObject data, indicates whether a permission combo box or a checkbox refers to folders or files. For enhanced readability and performance this is replaced with the FilterType enum. This allows to combine checking the property window target_files for files or folders and clarifies passed parameters to helper functions.
* properties-window: remove unused stored GObject dataPeter Eisenmann2022-01-021-22/+8
| | | | | | | GObject data for the key "properties_window" is never read. Similarly GObject data for the key "is-special" is never written. This removes both keys and subsequent attempted uses.
* properties-window: use AdwStatusPage for unreadable permissionsPeter Eisenmann2022-01-022-419/+436
| | | | | | | | Use a GtkStack and a AdwStatusPage to indicate that permissions of the currently selected items could not be determined, replacing the previous behavior of hiding and showing partial snippets with a HIG pattern. Part of #1326
* properties-window: use GtkListBox for basic entriesPeter Eisenmann2022-01-022-546/+466
| | | | | | | | | | Convert property entries in the basic tab from a grid form into multiple AdwActionRows, with each entry represented by a row. The icon picker and the volume pie chart remain unchanged, with only some placeholders used for spacing removed. Part of #1326
* properties-window: remove renaming capabilityPeter Eisenmann2022-01-022-331/+23
| | | | | | | | The funcitonality was duplicated with the rename popover. It can potentially be brought back after the redesign by reusing the rename popover. Part of #1326
* properties-window: drop unused grid variablePeter Eisenmann2022-01-021-12/+2
| | | | | The basic_grid variable was read from the .ui file but never actually was used, only passed on. This drops the variable.
* query-editor: HACK for search entry event forwardAntónio Fernandes2022-01-021-1/+16
| | | | We should build our own custom entry instead of doing this.
* files-view: Drop arrow from background context menuAntónio Fernandes2022-01-021-0/+2
| | | | It doesn't have an specific target to point to.
* toolbar: visual refinementsAntónio Fernandes2022-01-021-48/+49
|
* Adw goodiesAntónio Fernandes2022-01-023-77/+43
|
* view-icon-item-ui: Use .caption style for captionsAntónio Fernandes2022-01-021-3/+3
| | | | Instead of .dim-label.
* view-icon-item-ui: Use GtkPicture instead of GtkImageAntónio Fernandes2022-01-023-5/+5
| | | | | | | | | GtkImage is simpler now, with only 2 available sizes. We need to use the new GtkPicture instead to restore the expected icon sizes. It can grow to fill the space available to fit the intrinsic size of the image. -gtk-icon-filter CSS extensions don't work on GtkPicture. Instead, use a filter to achieve a similar visual result.
* properties-window: Set Image pixel sizeAntónio Fernandes2022-01-021-0/+6
| | | | | GtkImage no longer sets an icon size on construction. Set a pixel size which matches the intrinsic size of the paintable.
* css: Replace legacy color namesAntónio Fernandes2022-01-011-25/+14
| | | | With the actual colors they are now alias for.
* css: Update custom styles for current stylesheetAntónio Fernandes2022-01-011-19/+19
|
* view-icon-controller: Set .view style classAntónio Fernandes2022-01-011-0/+1
| | | | | Removing redundant custom styles revealed we weren't adding this the class to this view, as we should.
* css: Drop unused, redundant or obsolete stylesAntónio Fernandes2022-01-011-35/+0
|
* application: Unconditionally add custom stylesAntónio Fernandes2022-01-011-38/+5
| | | | | | | | | With libadwaita, the existing code wasn't loading the custom themes as it should. But thanks to libadwaita, we can make assumptions on the existing stylesheet. In the future we may want to unify our 2 css files and maybe adopt AdwApplication to have it load the custom styles automatically.
* general: Drop parameter from GtkEntry::icon-* signalsAntónio Fernandes2022-01-013-3/+0
| | | | The signal signature changed and doesn't include a GdkEvent anymore.
* general: Assorted leftovers changes -- IT BUILDS NOWAntónio Fernandes2022-01-0116-24/+21
|
* general: GdkPixbuf -> GdkPaintable/GdkTextureAntónio Fernandes2022-01-0113-133/+133
| | | | | | | | | | | Generally we should be able to use any paintable. Unfortunately GtkCellRendererPixbuf doesn't accept paintables other than textures. The other two usages of textures require a GIcon. We could create a GThemedIcon using GtkIconPaintable:icon-name, but to keep changes at a minimum short here, that's left for a later enhancement.
* window: gtk_window_get_size() -> gtk_window_get_default_size()António Fernandes2022-01-011-19/+1
| | | | The new method ignores maximized and tiled size, which is convenient.
* window: GtkWidget.delete_event() -> GtkWindow.close_request()António Fernandes2022-01-011-4/+5
|
* general: Replace GtkBindingSet with GtkShortcutAntónio Fernandes2022-01-013-20/+11
| | | | As per porting guide.
* search-popover: Adapt to GtkCalendar API changesAntónio Fernandes2022-01-011-16/+3
| | | | GDateTime-centric now.
* general: Adapt to gtk_show_uri* API changesAntónio Fernandes2022-01-012-9/+6
|
* general: Drop GtkIconSize parametersAntónio Fernandes2022-01-017-29/+13
| | | | As per migration guide.
* -- WIP -- must focusAntónio Fernandes2022-01-014-18/+43
|
* search-engine-recent: Adapt to GtkRecentInfo time getter changesAntónio Fernandes2022-01-011-10/+6
| | | | They return an internal GDateTime pointer now, not a time_t.
* general: Adapt to GtkDrawingArea API changesAntónio Fernandes2022-01-013-17/+27
| | | | Now we set a function instead of listening to a signal.
* general: GtkSpinner:active -> GtkSpinner:spinningAntónio Fernandes2022-01-012-2/+2
|
* general: Replace child properties with GtkStackPageAntónio Fernandes2022-01-012-9/+9
|
* general: Adapt to GtkFileChooser API changesAntónio Fernandes2022-01-012-8/+8
| | | | The API is GFIle-only now, and as such always supports non-local URIs.
* general: gtk_toggle_button_*() -> gtk_check_button_*()António Fernandes2022-01-014-29/+29
| | | | Check button is not a subclass of toggle button anymore.
* monitors -- squash with later changeAntónio Fernandes2022-01-011-1/+1
|
* general: GdkScreen -> GdkDisplayAntónio Fernandes2022-01-012-5/+5
|
* general: gtk_label_set_line_wrap -> gtk_label_set_wrapAntónio Fernandes2022-01-012-2/+2
|