OSDN Git Service
Ivailo Monev [Mon, 5 Jun 2023 20:08:05 +0000 (23:08 +0300)]
kioslave: adjust to KIO slave interface changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 17:00:54 +0000 (20:00 +0300)]
knetattach: update the create button icon and tooltip on page change
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 16:11:40 +0000 (19:11 +0300)]
knetattach: use KUrl::url() method for getting the URL to write
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 15:13:37 +0000 (18:13 +0300)]
kurifilter-plugins: specify charset for providers that assume/require one
also updated cia and google_movie providers URLs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 14:58:57 +0000 (17:58 +0300)]
kioslave: remove unused protocol descriptions
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 11:58:27 +0000 (14:58 +0300)]
knetattach: implement option to specify password
security wise it is bad idea to store the password as is but it is the only
way to save and connect to connection that requires password right now
because the connection is verified (see KNetAttach::doConnectionTest())
the option to not save the connection and a big warning are in place tho
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 11:44:51 +0000 (14:44 +0300)]
plasma: remove useless buggywords file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 05:24:49 +0000 (08:24 +0300)]
plasma: simplify favicons data engine
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 04:52:45 +0000 (07:52 +0300)]
plasma: use the new option/argument of KMimeType::favIconForUrl() in bookmarks runner
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 04:22:15 +0000 (07:22 +0300)]
keditbookmarks: remove unused FavIconUpdater::setIconUrl() slot
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 03:53:04 +0000 (06:53 +0300)]
kurifilter-plugins: use IANA charset names in .desktop files
also updated technorati and technoratitags providers URLs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 02:48:14 +0000 (05:48 +0300)]
kcontrol: executeXmodmap() function optimization
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 02:06:57 +0000 (05:06 +0300)]
qguiplatformplugin_kde: remove kDebug() calls
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 00:40:12 +0000 (03:40 +0300)]
qguiplatformplugin_kde: mark KQGuiPlatformPlugin methods as final
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 00:34:05 +0000 (03:34 +0300)]
qguiplatformplugin_kde: qt2KdeFilter() and kde2QtFilter() functions optimizations
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 5 Jun 2023 00:09:33 +0000 (03:09 +0300)]
generic: remove irrelevant TODO files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 15:13:38 +0000 (18:13 +0300)]
kgreeter: change the rectangle frame shape only when resetting its image
fixes excessive CPU usage due to frame paint update
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 14:00:54 +0000 (17:00 +0300)]
kdepasswd: show inline preview for all files like other dialogs for opening images
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 11:51:57 +0000 (14:51 +0300)]
plasma: use the file name of URLs as text in kickoff items
the basename of "/foo/bar.tar.gz" is "bar" and empty for "/foo/.bar", the
file name of "/foo/bar.tar.gz" is "bar.tar.gz" and ".bar" for "/foo/.bar".
obviously better
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 08:47:41 +0000 (11:47 +0300)]
kwin: uncomment code for debug type build
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 08:46:51 +0000 (11:46 +0300)]
kwin: compiler warning fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 08:46:27 +0000 (11:46 +0300)]
kioslave: testing build fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 08:09:53 +0000 (11:09 +0300)]
kcontrol: debug type build fix
compile-time assert could cause the build to fail
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 08:05:05 +0000 (11:05 +0300)]
kcontrol: add note about the theme cache size suffix translation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 07:55:17 +0000 (10:55 +0300)]
plasma: MOC warning fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 07:55:08 +0000 (10:55 +0300)]
kcontrol: compiler warnings fix
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 07:31:31 +0000 (10:31 +0300)]
systemsettings: get rid of BaseData
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 07:21:52 +0000 (10:21 +0300)]
systemsettings: remove redundant BaseData::configGroup() method
BaseMode::config() already provides access to KConfigGroup object
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 07:15:22 +0000 (10:15 +0300)]
plasma: remove unused desktopscriptengine header inclusion
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 07:15:02 +0000 (10:15 +0300)]
systemsettings: use the internal root module pointer instead of accessing global data
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 4 Jun 2023 02:44:55 +0000 (05:44 +0300)]
generic: drop support for default layout scripts
for a long time default layout has been done by providing
plasma-desktoprc and the feature is unused. also size contraints, screen
changes, etc. are handled here and there
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 3 Jun 2023 13:52:36 +0000 (16:52 +0300)]
plasma: notification applet warnings fix
requires
30ed152379f89649211ad4fcc349674d740dd60a from kdelibs
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 3 Jun 2023 11:57:32 +0000 (14:57 +0300)]
plasma: someone's typo
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 3 Jun 2023 03:03:30 +0000 (06:03 +0300)]
kcontrol: make the logic match the variable name in workspaceoptions KCM
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 2 Jun 2023 22:22:02 +0000 (01:22 +0300)]
plasma: drop support for passing plugin loader to plasma KPart
unused
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 2 Jun 2023 11:53:47 +0000 (14:53 +0300)]
libs: remove compatibility bits
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 2 Jun 2023 10:49:36 +0000 (13:49 +0300)]
kcontrol: implement option to disable/enable plasma theme cache and change its size
site note: 100 MB pixmap cache is more than enough
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 2 Jun 2023 08:50:42 +0000 (11:50 +0300)]
plasma: remove now invalid package structure directory definition
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 2 Jun 2023 05:07:14 +0000 (08:07 +0300)]
keditbookmarks: show the application in menus
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 2 Jun 2023 04:51:26 +0000 (07:51 +0300)]
plasma: a bit more flexible Seek and SetPosition mpris2 operations
in case the type is float, double or any other integer smaller than
qlonglong
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 2 Jun 2023 04:02:43 +0000 (07:02 +0300)]
plasma: adjust to Plasma::Service changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 1 Jun 2023 23:47:16 +0000 (02:47 +0300)]
plasma: adjust to Plasma::ServiceJob changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 1 Jun 2023 22:24:10 +0000 (01:24 +0300)]
plasma: prepare for Plasma::ConfigLoader changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 1 Jun 2023 10:13:11 +0000 (13:13 +0300)]
plasma: remove unused bits in dirmodel declarative import
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 31 May 2023 22:07:38 +0000 (01:07 +0300)]
ksystraycmd: update error string
there is no K3ShellProcess class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 30 May 2023 01:16:11 +0000 (04:16 +0300)]
generic: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 29 May 2023 22:06:19 +0000 (01:06 +0300)]
kcontrol: correct directory existence checks in desktoppaths module
QFile::exists() returns true only if the path is file now, bonus points for
optimizing one destination check by doing it only once
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 28 May 2023 17:57:12 +0000 (20:57 +0300)]
plasma: port to the new KDBusMenuImporter class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 24 May 2023 20:36:11 +0000 (23:36 +0300)]
generic: adjust to Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 24 May 2023 18:21:26 +0000 (21:21 +0300)]
kcontrol: adjust to KIconTheme changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 24 May 2023 16:31:29 +0000 (19:31 +0300)]
kate: consistent index checks in katebuild-plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 23 May 2023 15:43:57 +0000 (18:43 +0300)]
kate: return null pointer from KateBuildView::currentTargetSet() if the target list is empty
fixes crash when the katebuild-plugin is enabled and "Build Target..."
action is activated without restarting kate, the action will do nothing
until kate is restarted tho which is something that needs a fix too
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 23 May 2023 14:24:36 +0000 (17:24 +0300)]
kate: set icons for the template manager buttons
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 23 May 2023 02:28:03 +0000 (05:28 +0300)]
kate: fix template properties layout and add label for the icon
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 23 May 2023 02:07:28 +0000 (05:07 +0300)]
kate: remove useless commit policy file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 23 May 2023 02:04:32 +0000 (05:04 +0300)]
kate: correct KAboutData application name for mailfiles addon
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 23 May 2023 00:54:00 +0000 (03:54 +0300)]
kate: remove TODO for templates selection feature
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 23 May 2023 00:42:49 +0000 (03:42 +0300)]
kate: templates rewrite and implement cursor
I guess selection was something unfinished/experimental
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 23 May 2023 00:09:17 +0000 (03:09 +0300)]
kate: remove always null KateTemplateInfoWidget member
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 22 May 2023 21:43:50 +0000 (00:43 +0300)]
kate: adjust to ktexteditor changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 22 May 2023 20:02:30 +0000 (23:02 +0300)]
kate: remove unused and private KateFileTemplates members
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 22 May 2023 18:38:44 +0000 (21:38 +0300)]
kate: drop lumen addon
there is auto-completion for words that exists in the document already
and will have to do
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 22 May 2023 00:06:16 +0000 (03:06 +0300)]
plasma: sync copies of Plasma::DataEngineConsumer class
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 21 May 2023 18:41:01 +0000 (21:41 +0300)]
plasma: drop JS animations
can be done with QML code which most plasma packages use anyway, also
the 0.9 scaling is slightly more noticable than the 0.95 for arrow this
small and 0.9 is a value that other QML widgets use
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 20 May 2023 02:24:26 +0000 (05:24 +0300)]
plasma: remove unused and mapped animations
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 20 May 2023 00:31:50 +0000 (03:31 +0300)]
plasma: remove remote service/dataengine leftovers
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 20 May 2023 00:18:27 +0000 (03:18 +0300)]
plasma: remove unused Plasma::DataSource members
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 19 May 2023 06:06:39 +0000 (09:06 +0300)]
kcontrol: drop support for old color schemes
also save the chosen URL and filter the unsupported files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 18 May 2023 23:05:21 +0000 (02:05 +0300)]
plasma: remove now unused static QString object
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 18 May 2023 23:03:07 +0000 (02:03 +0300)]
plasma: fix support information generation
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 1 Jan 2023 17:47:38 +0000 (19:47 +0200)]
kcontrol: install fonts KCM images in kcmfonts/pics sub-directory
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 1 Jan 2023 00:42:24 +0000 (02:42 +0200)]
generic: adjust to KIO protocol changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 31 Dec 2022 23:15:54 +0000 (01:15 +0200)]
generic: adjust to KIO protocol changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 31 Dec 2022 21:37:46 +0000 (23:37 +0200)]
plasma: do not copy the data in WetterComIon::setup_slotDataArrived()
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 27 Dec 2022 17:20:37 +0000 (19:20 +0200)]
plasma: bookmarks runner optimizations
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 27 Dec 2022 15:37:15 +0000 (17:37 +0200)]
kdirshare: implement favicon
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 26 Dec 2022 15:57:11 +0000 (17:57 +0200)]
kdirshare: thread the server again
the initial testing was done with a small buffer (QT_BUFFSIZE) which
did not block long while reading file chunks but to reach the disk I/O
limit a larger buffer may be used by KHTTP in the future
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 25 Dec 2022 18:08:04 +0000 (20:08 +0200)]
kdirshare: include only the MIME type in Content-Type for files
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 25 Dec 2022 16:35:07 +0000 (18:35 +0200)]
kdirshare: use the new KHTTP::setServerID() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 25 Dec 2022 16:15:21 +0000 (18:15 +0200)]
kdirshare: adjust to KHTTP changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 25 Dec 2022 03:02:36 +0000 (05:02 +0200)]
kdirshare: adjust to KHTTP changes
KHTTP no longer has to be threaded to not block the current thread
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 24 Dec 2022 13:14:02 +0000 (15:14 +0200)]
kwin: remove declaration of non-existing KWin::XRenderPicture::fromImage() method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 24 Dec 2022 13:05:38 +0000 (15:05 +0200)]
kdirshare: do not open the file when sending response
KHTTP should send error response if opening the file fails
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Fri, 23 Dec 2022 13:13:14 +0000 (15:13 +0200)]
generic: adjust to KApplication changes
KApplication::quitOnSignal() is now called from KApplication constructor
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 22 Dec 2022 23:40:17 +0000 (01:40 +0200)]
libs: adjust to KIO::Job changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Thu, 22 Dec 2022 21:09:37 +0000 (23:09 +0200)]
kioslave: adjust to KIO::SlaveBase changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 21 Dec 2022 19:00:48 +0000 (21:00 +0200)]
kurifilter-plugins: test with kde4-config instead of gs executable
if gs program (part of ghostscript package usually) is not installed or it
is not installed as /usr/bin/gs the test would fail
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Wed, 21 Dec 2022 09:49:30 +0000 (11:49 +0200)]
plasma: watch sub-directories from image wallppaper plugin
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 20 Dec 2022 22:26:59 +0000 (00:26 +0200)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/kde-workspace
Ivailo Monev [Tue, 20 Dec 2022 22:26:44 +0000 (00:26 +0200)]
generic: adjust to KDirWatch changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Tue, 20 Dec 2022 14:08:38 +0000 (16:08 +0200)]
klipper: remove non-operational KRegExpEditor support bits
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 19 Dec 2022 14:22:07 +0000 (16:22 +0200)]
generic: call KToolInvocation::setLaunchEnv() as static method
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 19 Dec 2022 14:04:42 +0000 (16:04 +0200)]
Merge branch 'master' of https://scm.osdn.net/gitroot/kde/kde-workspace
Ivailo Monev [Mon, 19 Dec 2022 14:04:29 +0000 (16:04 +0200)]
plasma: remove dummy autostart file
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Mon, 19 Dec 2022 12:29:04 +0000 (14:29 +0200)]
kstart: adjust to KToolInvocation changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 18 Dec 2022 20:59:12 +0000 (22:59 +0200)]
kioslave: do not convert the image from imagethumbnail
if the depth is required to be 32 somewhere else then it should be
converted there
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 18 Dec 2022 14:09:43 +0000 (16:09 +0200)]
generic: drop text-to-speech support
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sun, 18 Dec 2022 08:43:19 +0000 (10:43 +0200)]
kinfocenter: correct X-DBUS-StartupType
note that it did not even had X-DBUS-ServiceName before the fork (see
9536a25d4cc071f0de0ad3a6c12b791c89951143) and multiple instances can run at
the same time (e.g. one showing the devices, one showing graphical
information, etc.)
fixes klauncher timeout and warning
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 17 Dec 2022 15:22:58 +0000 (17:22 +0200)]
plasma: blind-start services via KRun from kickoff menu
KRun will show message box if exec fails (it uses KToolInvocation itself
and checks the return value) and the menu will not be blocked while the
application is starting
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
Ivailo Monev [Sat, 17 Dec 2022 13:43:14 +0000 (15:43 +0200)]
generic: prepare for Katie changes
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>