diff options
author | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-24 20:40:44 +0000 |
---|---|---|
committer | estade@chromium.org <estade@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-03-24 20:40:44 +0000 |
commit | 1a9e11dc906e39de6436a4a60ae80db9b3ec47a8 (patch) | |
tree | e54cc697681f4ea68e5228182458952c1f9cccc8 /chrome/common/platform_util_linux.cc | |
parent | 0e1b3fb0be8e113a3863017340900e4874d4eb4b (diff) | |
download | chromium_src-1a9e11dc906e39de6436a4a60ae80db9b3ec47a8.zip chromium_src-1a9e11dc906e39de6436a4a60ae80db9b3ec47a8.tar.gz chromium_src-1a9e11dc906e39de6436a4a60ae80db9b3ec47a8.tar.bz2 |
Implement basic ShowItemInFolder for linux.
Note that this only works if you are using a gnome or kde session. Support for other sessions will be added in the future.
Review URL: http://codereview.chromium.org/52034
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12395 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/common/platform_util_linux.cc')
-rw-r--r-- | chrome/common/platform_util_linux.cc | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/chrome/common/platform_util_linux.cc b/chrome/common/platform_util_linux.cc new file mode 100644 index 0000000..de06f04 --- /dev/null +++ b/chrome/common/platform_util_linux.cc @@ -0,0 +1,28 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/common/platform_util.h" + +#include "base/file_path.h" +#include "base/file_util.h" +#include "base/process_util.h" + +namespace platform_util { + +// TODO(estade): It would be nice to be able to select the file in the file +// manager, but that probably requires extending xdg-open. For now just +// show the folder. +void ShowItemInFolder(const FilePath& full_path) { + FilePath dir = full_path.DirName(); + if (!file_util::DirectoryExists(dir)) + return; + + std::vector<std::string> argv; + argv.push_back("xdg-open"); + argv.push_back(dir.value()); + base::file_handle_mapping_vector no_files; + base::LaunchApp(argv, no_files, false, NULL); +} + +} // namespace platform_util |