| Age | Commit message (Collapse) | Author |
|
|
|
|
|
The sort section only changes when the location changes. The previous
behavior of hiding it when there is no view is covered by the menu
button being insensitive in such cases.
Drop the now unused ToolbarMenuSection struct.
|
|
Eel is a library that was used in Files for a long time.
It used to be a seperate library, but then the source got
checked into Files's repository. It used to provide the
main code for the view and its elements before the GTK4
transition, and other utilities that were replaced by
GLib. Its usage slowly erorded as more code was moved out
or replaced, until there was little left.
Now we move the last bit left relating to timed wait
dialogs into ui utilities. With that, Eel directory is
eliminated.
Fixes: https://gitlab.gnome.org/GNOME/nautilus/-/issues/331
|
|
|
|
This is to move it from preferences to the view menu, like the columns
chooser in list view.
|
|
Blueprint is a markup language for GTK user interfaces, that has several
benefits over XML UI files. The simpler syntax makes it easier to read
and write, which should improve readability and reviewability of UI
changes.
This commit adds the Blueprint compiler as a subproject and converts all
XML UI files into the Blueprint format, with the exceptions of menu-only
definitions. It also cleans up the created Blueprint files to account
for the issues reported in [1]-[4].
The menu-only UI files use features not supported by Blueprint, such as
action target types and submenu links. As they mostly consist of flat
lists, keeping them as plain GTK UI files shouldn't be too confusing for
contributors.
In case Blueprint should ever stop being supported, the generated files
can be used to revert to XML based UI files.
[1] https://gitlab.gnome.org/GNOME/blueprint-compiler/-/issues/202
[2] https://gitlab.gnome.org/GNOME/blueprint-compiler/-/issues/237
[3] https://gitlab.gnome.org/GNOME/blueprint-compiler/-/issues/238
[4] https://gitlab.gnome.org/GNOME/blueprint-compiler/-/issues/240
|
|
This will be used to replace deprecated usages of GdkPixbuf.
|
|
|
|
The DBus interface org.gnome.Nautilus.FileOperations was deprecated in
version 3.37 (2020) with the introduction of its successor
org.gnome.Nautilus.FileOperations2.
Fixes https://gitlab.gnome.org/GNOME/nautilus/-/issues/2773
|
|
Drop the mime type list in favor of checking for the generic
icon name returned by shared-mime-info.
|
|
Add an AdwAlertDialog-based helper function to present a dialog with
responses. It supports showing an additional text, along the heading and
body texts, so it can be used as a replacement for file operation
dialogs.
A response enum is used to indicate which responses to present and which
response was chosen. The enum values can be combined as bit flags to
represent multiple responses. The order of responses is thus fixed.
Responses that represent an "All" action have to be passed explicitly,
making it clear when such responses will be presented.
`run_dialog()` also returns a response enum value, allowing for more
verbose response comparisons.
Fixes #2900
|
|
|
|
The provider status is not used anymore, this drops it and gives
the signal a more unique name.
|
|
Instead of previous tracker includes. Also bump required localsearch
version to assure these includes are available.
|
|
|
|
|
|
|
|
|
|
|
|
This dialog allows to select a date range by using two of the
previously introduced DateEntryRows. If the Select button is
pressed a date range is created which can be queried by
subscribing to the "close-attempt" signal. If the dialog
is simply closed, or somehow has an invalid date range, the
date range is NULL.
|
|
This row allows to select a date by either typing or selectiong one
from a calendar popover. It provides a "date-time" property that
can be listened to for changes.
|
|
NautilusFilesView was the only implementation of NautilusView, so the
interface only added indirections and code complexity. Some users of
the interface already relied on the implementation being a FilesView.
|
|
|
|
Introduce the ICU library support and add initialization functions.
|
|
This port tries to stay as close as possible to the
original version using GtkListBoxes where it makes sense.
The port is already large enough. However, that leaves
room for subsequent changes. For example, the created
labels could be created at setup and reused between
bound rename items.
Signed-off-by: Markus Göllnitz <camelcasenick@bewares.it>
|
|
This is strongly inspired by [1] and was pointed out by Matthijs Velsink
(@velsinki) on chat.
[1] https://gitlab.gnome.org/GNOME/gnome-control-center/-/commit/0799aa7880ca15435d959c182bc77be5d35ab88b
|
|
By using AdwAboutDialog.new_from_appdata we can populate the About
dialog with information from the appdata file.
This is useful for downstreams that use of appdata overwrites to
change info such as support questions and issue tracker addresses.
|
|
We want to reuse most of our window widgets in the FileChooser dialog,
but we cannot use the actual NautilusWindow class for a few reasons:
* It's a GtkApplicationWindow subclass, and we don't want FileChooser
dialogs to be treated as part of the Files app while invoked from
other apps.
* FileChooser dialog, as a modal, is expected to behaver differently
from NautilusWindow is many ways.
* FileChooser doesn't need a tab bar and tab view, progress indicator,
nor many other features from NautilusWindow. And the reverse is also
true, as the FileChooser dialog has an always-on bottom toolbar and
a different adaptive design for narrow windows.
As such, we introduce a new toplevel window class (NautilusFileChooser)
which is a new composite widget that reuses internal components of the
NautilusWindow class.
This FileChooser window features a sidebar, a top toolbar, a view (as
part of a single NautilusWindowSlot instance), and a bottom toolbar. So,
it looks similar, but not exactly the same, as NautilusWindow.
At this point, this window class is still unused and inert. It's going
to get fuctional and going to be used by NautilusPortal next commit.
More about the code design rationale at
https://gitlab.gnome.org/GNOME/nautilus/-/work_items/3402
Part of https://gitlab.gnome.org/GNOME/nautilus/-/issues/3401
|
|
From now on nautilus claims to implement the FileChooser portal.
For now it's a lie. But the next few commits will make it true.
|
|
NautilusPreferencesWindow is a dialog since the previous commit.
|
|
Make it a private static library to be used in commming commits.
Contrary to upstream, we use the imported *.impl.* definitions.
For convenience (not to move a lot of meson code around), define
the HAVE_GTK_WAYLAND and HAVE_GTK_X11 in config.h instead of
compiler flags.
|
|
Instead of reimplementing GtkFileFilter, which conveniently takes
the GVariant format from the FileChooser portal interface, let's
wrap it with a filter of our own which translates NautilusViewItem
into a dummy GFileInfo.
|
|
This object will be used as a small object to store data in its
properties for use as an object for GListModel.
|
|
In order for some window-level shortcuts to trigger on a FileChooser
dialog, which do not belong to NautilusApplication, we need to stop
using gtk_application_set_accels_for_action() and set the shortcuts
directly on widgets.
While at it, their GtkShortcutScope is to be changed from `GLOBAL`
to `MANAGED`. This gives us an opportunity to fully control their
scope and, thus, prevent them from being triggered while, e.g., an
AdwDialog is up.
Related to https://gitlab.gnome.org/GNOME/nautilus/-/work_items/3411
|
|
This is the replacement for the Other Locations.
See https://gitlab.gnome.org/GNOME/nautilus/-/issues/2785
|
|
|
|
The new design for Network view uses an address entry bar which is
similar to the one from Other Locations view. Instead of reinventing
the wheel, let's salvage some code.
In addition to formatting the code to nautilus style, this also makes
a couple of visual changes to match the design requests.
https://gitlab.gnome.org/GNOME/nautilus/-/issues/2785
|
|
Now that NautilusPlacesView is gone, we don't use this anymore.
But there is quite a bit of recycleable code here. So, let's take this
out of the build pipeline in order to disassemble it freely.
|
|
It's going to be replaced with a new Network view.[0]
For now this removes only the direct support in nautilus code proper.
The code imported from GtkPlacesView is kept to be recycled for a new
purpose.
[0] https://gitlab.gnome.org/GNOME/nautilus/-/issues/2785
|
|
This aggregates files from two sources:
* network:// for discoverable network resources
* computer:// for remote mounts and volumes
For the second case, we need to filter out local mounts and volumes.
For the time being, this is implemented by relying on the the icon
names, until a new file attribute is provided by GVFS.
|
|
Instead of special casing the NautilusFile for the starred:/// URI,
give it a proper display name as part of a new specialized subclass.
This is prepared to handle more cases, like the upcoming Network view.
|
|
|
|
|
|
|
|
NautilusListBase and its subclasses need these ids, but will soon
stop including nautilus-view.h (through nautilus-files-view.h), when
they become child widgets instead of subclasses of NautilusFilesView
|
|
Ephy has a beautiful circular progress bar, let's use that
instead of reinventing the wheel. This will be part of the
sidebar operations.
|
|
Move date formatting to new date-utilities file, to allow it being
called from other places too. The new file also handles reacting to
changes in date related preferences.
More functionality will be added/moved to this file in a future commit.
|
|
This is needed because this code is about to become more complex.
|
|
Analogous to the previous commit, drop the '-controller' suffix from
filenames.
|