LinuxForum.Fans
Тема

MCBC 5 Ассоциации файлов

Автор: kold2015 9 сообщений 3849 просмотров
#389075

Добрый день всем
я пишу файловый менеджер
вот код метода клика по объектам

text

void MainWindow::on_listView_3_doubleClicked(const QModelIndex &index)   //двойной клик по объектам //файловой системы
{

QString str=model1->fileInfo(index).absoluteFilePath(); // берем абсолютный путь папки или файла if (model1->fileInfo(index).isDir()) //если это папка { ui->listView_3->setRootIndex(model1->index(str)); //то переходим в каталог

} if (model1->fileInfo(index).isFile()) // если файл { QDesktopServices::openUrl(QUrl(str)); // то открываем его в ассоциированном с ним приложении } }

так вот вопрос в следующем когда собственно я открываю файл первый раз появляется окно

потом допустим я выбираю ассоциированное приложение нажимаю запуск.
И если в следующий раз запустить этот файл окно уже не появится, а файл будет открываться
всегда в этом приложении. (СОБСТВЕННО как и должно быть)

Мне нужно реализовать пункт меню "Открыть с помощью"

Подскажите где в мсвс 5 хранятся ассоциации файлов с приложениями?
Потому что как я понял нужно будет удалять ассоциацию файла с приложением каждый раз при его открытии
(чтобы всегда появлялось окно выбора приложения)

#389088

Подозреваю, вопрос не к МСВС 5, а к Elk-1.9.9

#389098

а ещё стоит ознакомиться с вот этой спекой: http://www.freedesktop.org/wiki/Specifications/mime-apps-spec/
ещё со своим форматом файлов стоит регистрировать свой mime-тип: http://standards.freedesktop.org/shared-mime-info-spec/latest/

готовая реализация точно есть в kde и где-то в пост-glib'е (похоже в GIO), но подозреваю, что их использования хочется избежать... в самом кьюте ЕМНИП подобного кросс-платформенного интерфейса нет... также стоит поискать среди xdg'шных утилиток — у них должен быть подобный функционал... ИМХО тут не стоит изобретать велосипед с нуля...

#389111

когда я захожу под root ом

в

/usr/share/applications/


там два файла:

defaults.list

mimeinfo.cache

и даже если я их удалю то все равно файл открывается в ассоциированном приложении

я взял под рутом удалил два этих файла
перезашел под рутом открыл файл с расширением .txt
он как и открывался в ассоциированном приложение так и открывается в ассоциированном
мне просто нужно как бы обнулить ассоциацию как это можно сделать?
мб есть какая нибудь команда по обнулению ассоциации файла определенного расширения и тд и тп?

#389115

Что говорит документация по Red Hat?

#389116

kold2015,

"stranger" написал:
Подозреваю, вопрос не к МСВС 5, а к Elk-1.9.9
#389123

блин я даже не знаю кто может помочь

#389132

У пользователей свои предпочтения, значит, стоит в домашнем каталоге поискать. И да, ссылку на спецификацию freedesktop вам дали.

Войдите или зарегистрируйтесь, чтобы ответить.