Pavel
А есть вообще разумный способ заставить QFileDialog выбирать и файлы и директории?
Pavel
Вроде очевидная штука, но чтото я не могу нагуглить
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
Pavel
Но это тоже не помогает, т.е. при QFileDialog::Directory нельзя выбрать только файлы (хотябы одна директория должна быть отмечена), а при QFileDialog::AnyFile нельзя выбрать одни директории
Pavel
а если QFileDialog::ExistingFiles?
При выборе директории он в неё переходит а не возвращает
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_
Не то ?
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, ждите еще больше хороших пакаждей от них.
Alexander "SonnySlave"
кстати, мы тут биткрафтерам проспонсировали CI, ждите еще больше хороших пакаждей от них.
нет, это не поможет 😊 там сейчас всё дело упирается в кол-во рук. Хоть CI и очень подсобит)
JBáruch
один я вижу некоторое противоречие в использовании “CI не поможет” и “CI очень подсобит” в одной фразе? 😄
Alexander "SonnySlave"
один я вижу некоторое противоречие в использовании “CI не поможет” и “CI очень подсобит” в одной фразе? 😄
ну я в плане того, что кол-во пакетов от этого не увеличиться резко, но тестить пакеты станет проще и быстрее
JBáruch
ну тоже дело 🙂 мы за всё хорошее!
Alexander "SonnySlave"
ну тоже дело 🙂 мы за всё хорошее!
Скоро выделите человека, который будет сидеть и пакетить либы?
JBáruch
как только найдем достаточно людей, которые будут пилить конан, и еще и время останется.
Alexander "SonnySlave"
https://arduinojson.org/
Alexander "SonnySlave"
https://github.com/bblanchon/ArduinoJson
Berkus
Я и gcc ронял
я и шланг ронял и что
JBáruch
я твой шланг ронял!
Berkus
https://github.com/bblanchon/ArduinoJson
кто там у нас кричал что си лучше подайте этого человека сюда, а то он как-т слился
usernameak
https://github.com/bblanchon/ArduinoJson
а на пк пойдет тоже?
🦥Alex Fails
#holywar
Igor
можно ли средствами одного std, предпочительно std::locale, под виндой, перегонять втф-8 строки в lower/upper case, без ICU и "нахрена"? из гугла вроде как вытекает, что на винде тупо нет полноценной юникодовской локали которую можно скормить в tolower(char, locale), только средства самого винапи
Дмитрий ⬡
С локалями кажется всё очень плохо
Дмитрий ⬡
Потому что на винде строчки в не-совсем-UTF16
Igor
std::codecvt, но его задепрекатили
э? он же гоняет строки из формата в формат, не?
Дмитрий ⬡
Кого-то там задепрекетили, но не всё
🦥Alex Fails
э? он же гоняет строки из формата в формат, не?
а, не так прочитал. У Антона в видео был рецепт для перевода строчек на основе char_traits у стриннги
Igor
Полухина? в каком из видео, у него их много)
Alexander "SonnySlave"
как говорится, хотим использовать кодировки, юзаем ICU 😊
Alexander "SonnySlave"
https://retdec.com/
Ioann_
Кто как к форвард декларейшну енама относится ?
Maxim
Кто как к форвард декларейшну енама относится ?
та вроде норм. когда надо было ускорять время компиляции, то убирал лишние инклуды из заголовочников и заменял на форвард декларейшены, при этом заодно и с енам классами тоже так делал :)
Maxim
И большой выигрыш оптимизация енама дала?
Именно енама - нет. Я ж сказал, просто по ходу дела решил и его форварднуть :)
🦥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 то выдавало тисячу с лишним ошыбок