Pavel
А есть вообще разумный способ заставить QFileDialog выбирать и файлы и директории?
Pavel
Вроде очевидная штука, но чтото я не могу нагуглить
Anatoly
Pavel
Ну да. Там либо файлы выбирать либо директории.
Ioann_
А если сделать | у флагов ?
Pavel
Эм. там енум, не битовая маска
Pavel
Qt местами такая странная штука. Вроде хочешь сделать очевидную вещь... вжух, и полдня прошло.
Ioann_
Ой
Pavel
Это Options маски. а FileMode там просто 0 1 2 3
Ioann_
QFileDialog::ShowDirsOnly 0x00000001 Only show directories in the file dialog. By default both files and directories are shown. (Valid only in the Directory file mode.) А не, все норм
Ioann_
Тут написано, что по дефолту и файлы и папки
Ioann_
Т.е без какого либо флага
Pavel
Ну он их и показывает, и файлы и директории
Pavel
Только есть сделать например QFileDialog::Directory то недает выбрать файл, а если сделать QFileDialog::AnyFile не дает выбрать директорию
Pavel
У них ещё есть QFileDialog::DontUseNativeDialog, после которого можно в диалоге найти QListView и сделать ему принудительно QAbstractItemView::ExtendedSelection
mefest
Pavel
Но это тоже не помогает, т.е. при QFileDialog::Directory нельзя выбрать только файлы (хотябы одна директория должна быть отмечена), а при QFileDialog::AnyFile нельзя выбрать одни директории
mefest
Pavel
Открывает первую
Pavel
Ну, переходит
Pavel
Я негодую
Ioann_
Я негодую
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QFileDialog w;
w.setFileMode(QFileDialog::DirectoryOnly);
w.setOption(QFileDialog::DontUseNativeDialog,true);
QListView *l = w.findChild<QListView*>("listView");
if (l) {
l->setSelectionMode(QAbstractItemView::MultiSelection);
}
QTreeView *t = w.findChild<QTreeView*>();
if (t) {
t->setSelectionMode(QAbstractItemView::MultiSelection);
}
return w.exec();
}
Ioann_
Попробуй ка вот это
Pavel
уже
Ioann_
Не то ?
Pavel
Ioann_
Я, просто, попробовать не могу :)
Pavel
Причем лучше QAbstractItemView::ExtendedSelection. Т.к. при MultiSelection он умудряется ещё возвращать каталог в который ты зашел пока тыкал в диалоге
Pavel
т.е. зашел в диреторию, выбрал две директории — он вернет верхнюю и те две что выбрал.
Ioann_
Ну, я лично, не вижу тогда способов провернуть сие
Ioann_
Разве что, написать свое диалоговое окно ?
Ioann_
Ты ведь пользуешься уже готовым :\
Pavel
Ну там наверное надо какнибудь отрубить сигнал selectionChanged внутри диалога, чтобы он не делал кнопку disabled при выборе файлов когда режим FileMode::DirectoryOnly
Pavel
Но какой там сигнал куда законектен и что потом сломается непонятно
Pavel
поэтому я тут решил спросить для начала
Ioann_
так есть же Qt Chat
Ioann_
https://t.me/qt_chat
Pavel
Ещё один чат... Ну давайте..
JBáruch
кому наглого пиара Конана? https://devops.com/devops-challenges-c-c-projects/
JBáruch
кстати, мы тут биткрафтерам проспонсировали CI, ждите еще больше хороших пакаждей от них.
JBáruch
один я вижу некоторое противоречие в использовании “CI не поможет” и “CI очень подсобит” в одной фразе? 😄
JBáruch
ну тоже дело 🙂 мы за всё хорошее!
JBáruch
как только найдем достаточно людей, которые будут пилить конан, и еще и время останется.
Alexander "SonnySlave"
Alexander "SonnySlave"
https://arduinojson.org/
Alexander "SonnySlave"
https://github.com/bblanchon/ArduinoJson
JBáruch
Igor
JBáruch
JBáruch
я твой шланг ронял!
usernameak
usernameak
🦥Alex Fails
#holywar
Igor
можно ли средствами одного std, предпочительно std::locale, под виндой, перегонять втф-8 строки в lower/upper case, без ICU и "нахрена"? из гугла вроде как вытекает, что на винде тупо нет полноценной юникодовской локали которую можно скормить в tolower(char, locale), только средства самого винапи
Дмитрий ⬡
С локалями кажется всё очень плохо
Дмитрий ⬡
Потому что на винде строчки в не-совсем-UTF16
🦥Alex Fails
Дмитрий ⬡
Кого-то там задепрекетили, но не всё
Igor
Полухина? в каком из видео, у него их много)
Дмитрий ⬡
можно ли средствами одного std, предпочительно std::locale, под виндой, перегонять втф-8 строки в lower/upper case, без ICU и "нахрена"? из гугла вроде как вытекает, что на винде тупо нет полноценной юникодовской локали которую можно скормить в tolower(char, locale), только средства самого винапи
Кажется, самый простой — гнать в UTF-16, перевести, обратно.
Alexander "SonnySlave"
Alexander "SonnySlave"
как говорится, хотим использовать кодировки, юзаем ICU 😊
Alexander "SonnySlave"
https://retdec.com/
Ioann_
Кто как к форвард декларейшну енама относится ?
Maxim
Кто как к форвард декларейшну енама относится ?
та вроде норм. когда надо было ускорять время компиляции, то убирал лишние инклуды из заголовочников и заменял на форвард декларейшены, при этом заодно и с енам классами тоже так делал :)
Nikita
Nikita
🦥Alex Fails
18 декабря, в офисе Яндекса пройдет встреча сообщества C++ User Group. На встрече выступят специалисты Яндекса и компании Wargaming.
В программе ожидается рассказ от Алексея Салмина про различные трюки, связанные с оптимизацией потребления памяти, и рассказ от Артема Лапицкого из Wargaming про ускорение сборки C++-проектов с использованием техники "Unity Build" (Single Compilation Unit).
Количество мест ограничено, поэтому нужно заранее зарегистрироваться на сайте:
https://events.yandex.ru/events/yagosti/18-dec-2017/
#cppparty #yandex #cpprussia #moscow #cpp #meetup
Unknown
кто то шарит почему в qt при сборке под андроид выдает ошыбку: stdlib.h no such file or directory
Billy
потому что компилятор его не видит, вот и выдает
Unknown
когда добавлял строчку INCLUDEPATH += /usr/include то выдавало тисячу с лишним ошыбок