samstyle / Xpeccy

Multiplatform emulator of retro computers
MIT License
71 stars 13 forks source link

косметика дебаггера #59

Closed ammehet closed 4 years ago

ammehet commented 5 years ago

Ширина колонок не автоподбирается и не регулируется. А также в режиме, отличном от CPU, не работает переход по адресу. Приходится мотать вручную, но не видно куда:

image

UPD и в дампе комбо-боксы справа вверху скриншота узкоглазенькие тоже косметика

samstyle commented 5 years ago

В макоси вообще выглядит ужасно, непонятно кто виноват. Вот например как в линуксе и винде: Screenshot_20190713_103319 Screenshot_20190713_103633

ammehet commented 5 years ago

Красиво, нет слов! В макоси я домохозяйка, все настройки по дефолту. Но даже в fuse разрешают ширину столбцов выбирать. Это же контрол типа listview? если заголовок сделать 1 пиксель в высоту, оно будет не видно, но можно двигать. но это не точно

Volutar commented 5 years ago

Полагаю, что дело в отступах вокруг виджетов. Видно что под виндой и линуксом расстояния между синими заголовками CPU-Disasm заметно меньше, чем под макосью (а тем более между Disasm-Dump). Думаю стоит покопать в сторону macos-specific Margin. https://stackoverflow.com/questions/41452512/how-to-remove-margins-of-qlayout-completely-mac-os-specific

Пишут что надо явно выставлять

QLayout::setContentsMargins() QLayout::setMargin() QLayout::setSpacing()

samstyle commented 5 years ago

установка маржинов ничего не дала. но если запускать с другим стилем (например, --style=fusion), то начинает выглядеть по-человечески Screenshot_20190717_212458

samstyle commented 5 years ago

Закоммичено: для MacOSX принудительно устанавливается стиль Fusion

ammehet commented 5 years ago

ВНЕЗАПНО в макоси 10.13.6 хай сьерре не собирается без обьявления войны и обьяснения причин. Может, дело в том, что обновил xcode и вообще brew upgrade спросонья нажал, там и SDL обновилось. Весной собиралось ок. Разбираться очень сильно лень, начну ждать готовую сборку. Ошибок как бы нет, но есть

[ 99%] Building CXX object CMakeFiles/xpeccy.dir/src/xgui/moc_labelist.cpp.o
[100%] Linking CXX executable xpeccy.app/Contents/MacOS/xpeccy
make[2]: MACDEPLOYQTEXE-NOTFOUND: No such file or directory
make[2]: *** [xpeccy.app/Contents/MacOS/xpeccy] Error 1
make[2]: *** Deleting file `xpeccy.app/Contents/MacOS/xpeccy'
make[1]: *** [CMakeFiles/xpeccy.dir/all] Error 2
make: *** [all] Error 2

При сборке уже традиционно (с весны себе файлик с памяткой сделал)

Xpeccy-master/src/xcore/sound.cpp:126:10: error: ordered comparison between pointer and zero ('SDL_TimerID'
      (aka '_SDL_TimerID *') and 'int')
        if (tid < 0) {
            ~~~ ^ ~

меняю на

    if (tid == NULL) {

и

Xpeccy-master/src/xgui/options/setupwin.cpp:448:39: error: no matching function for call to 'SDL_JoystickName'
        ui.lePadName->setText(conf.joy.joy ? SDL_JoystickName(conf.joy.joy) : "none");
                                             ^~~~~~~~~~~~~~~~
/Library/Frameworks/SDL.framework/Headers/SDL_joystick.h:61:38: note: candidate function not viable: cannot convert argument of incomplete
      type 'SDL_Joystick *' (aka '_SDL_Joystick *') to 'int' for 1st argument

меняю на

//#ifdef HAVESDL2
//  ui.lePadName->setText(conf.joy.joy ? SDL_JoystickName(conf.joy.joy) : "none");
//#elif HAVESDL1
    ui.lePadName->setText(conf.joy.joy ? SDL_JoystickName(0) : "none");
//#endif

иначе даже весной не собиралось. А, и cmake звать приходится с явным указанием параметров. Было бы круто в ридми указать или сразу для макоси гвоздями прибить, вдруг я не один, а гуглится такое не быстро

cmake -DQt5_DIR=$(brew --prefix qt5)/lib/cmake/Qt5 -L/usr/local/lib ..
samstyle commented 5 years ago

про SDL уже было: cmake -DSDL1BUILD=0 если планируется собирать с SDL2 и -DSDL1BUILD=1 если с SDL1

ammehet commented 5 years ago

Получилось собрать, стало покрасивее, но адрес всё равно не помещается.

image

ammehet commented 4 years ago

Ура! В 0.6.20190915 всё стало красиво и всё помещается! Спасибо!

image