Re[4]: Просьба о code review
От: Sheridan Россия  
Дата: 28.01.12 17:29
Оценка:
Здравствуйте, Igore, Вы писали:

I>b) Используешь QLocale::decimalPoint

qApp->keyboardInputLocale() — эту? Неоднозначно.

I>При закрытии программы не было сохранения позиций QWidget.saveGeometry()

Странно, должно быть, посмотрю...

I>Сгруппируй элементы так чтобы пользователь запуская программу мог сразу работать, а не перетаскивать элементы под свое виденье.

Ок, сейчас попробую...
Matrix has you...
Re[4]: Просьба о code review
От: Sheridan Россия  
Дата: 28.01.12 18:31
Оценка:
Здравствуйте, Igore, Вы писали:

I>Кхм, 2 монитора, 1-ый 24'', второй 19'', при первом запуске программа по ширине расползлась на 2 монитора. При закрытии программы не было сохранения позиций QWidget.saveGeometry()

Ок, сделал такое. Но как то непонятно оно потом отрабатывает...
1й запуск — ок. Сохранило геометрию. 2й запуск — читаем геометрию — доклеты переколбашены в другом порядке о0
Matrix has you...
Re[5]: Fixed
От: Sheridan Россия  
Дата: 28.01.12 18:45
Оценка:
Matrix has you...
Re[5]: Просьба о code review
От: Centaur Россия  
Дата: 29.01.12 11:09
Оценка:
Здравствуйте, Sheridan, Вы писали:

C>>Как раз самостоятельное удаление — это и есть стрельба себе по ногам. Потому что утечки будут всякий раз при возникновении необработанного исключения.

S>Необработанное исключение должно подразумевать окошко об ошибке и аварийное завершение программы. Этого у меня тоже, конечно, нет. Но с этой точки зрения утечки — фигня.

Ну это если совсем необработанное. Но может быть так, что в этой функции отрабатывает new, потом возникает исключение, delete не отрабатывает, исключение ловится где-то выше по стеку, программа продолжает работать с утекшим ресурсом.
Re[6]: Просьба о code review
От: Sheridan Россия  
Дата: 29.01.12 11:43
Оценка:
Здравствуйте, Centaur, Вы писали:

C>Ну это если совсем необработанное. Но может быть так, что в этой функции отрабатывает new, потом возникает исключение, delete не отрабатывает, исключение ловится где-то выше по стеку, программа продолжает работать с утекшим ресурсом.


В любом случае это ошибка, и она требует исправления а не обработки.
Matrix has you...
Re[4]: Просьба о code review
От: Igore Россия  
Дата: 30.01.12 04:24
Оценка: 10 (1)
Здравствуйте, Sheridan, Вы писали:

S>Здравствуйте, Igore, Вы писали:


I>>Зачем столько вспомогательных GUI классов? Чем стандартные не угодили? Писал бы на qml я бы еще понял, там с этим не всегда хорошо.

S>Всмысле? Я беру стандартные и компоную из них нужные мне. Например кнопка с выпадающим списком-табличкой и индикацией выбранного на кнопке.

Я про:

class WImage : public QLabel
class WIcon : public ui::images::WImage, public hacc::CIDItem
class WIconButton : public ui::icons::WIcon // Какой это button, это clickLabel какой то
class WControlLabel : public QLabel
class WLabelButton : public QLabel
class WStyledWidget : public QWidget
class DProgress : public QDialog// Есть QProgressDialog


Не увидел использования QTableView(QTableWidget) для отображения табличных данных, а это (сортировка, перетаскивание колонок, и т.д. из коробки)
Можно также использовать, QTableView + QItemDelegate::createEditor.
Re[7]: Просьба о code review
От: Centaur Россия  
Дата: 30.01.12 10:26
Оценка:
Здравствуйте, Sheridan, Вы писали:

C>>Ну это если совсем необработанное. Но может быть так, что в этой функции отрабатывает new, потом возникает исключение, delete не отрабатывает, исключение ловится где-то выше по стеку, программа продолжает работать с утекшим ресурсом.


S>В любом случае это ошибка, и она требует исправления а не обработки.


Не все исключения суть ошибки, и не все ошибки требуют исправления. В частности, ошибки пользовательского ввода, ошибки прав доступа, ошибки связи с внешними ресурсами могут обнаруживаться где-нибудь внутри, ловиться где-то выше, показываться пользователю — и на следующий виток главного цикла.
Re[5]: Просьба о code review
От: Sheridan Россия  
Дата: 30.01.12 10:33
Оценка:
Здравствуйте, Igore, Вы писали:

I>
I>class WImage : public QLabel
I>class WIcon : public ui::images::WImage, public hacc::CIDItem
I>class WIconButton : public ui::icons::WIcon // Какой это button, это clickLabel какой то
I>class WControlLabel : public QLabel
I>class WLabelButton : public QLabel
I>class WStyledWidget : public QWidget
I>class DProgress : public QDialog// Есть QProgressDialog
I>

Стандартные меня не устраивали. Отнаследовался и реаоизовал нужное. Либо в планах реализовать.

I>Не увидел использования QTableView(QTableWidget) для отображения табличных данных, а это (сортировка, перетаскивание колонок, и т.д. из коробки)

В репе уже закомментировано, ибо действительно не нужно.

I>Можно также использовать, QTableView + QItemDelegate::createEditor.

Можно, но я не разобрался как мне повторить таблевьювом тот функционал, который я на плашках нарисовал
Matrix has you...
Re[8]: Просьба о code review
От: Sheridan Россия  
Дата: 30.01.12 10:35
Оценка:
Здравствуйте, Centaur, Вы писали:

C>Здравствуйте, Sheridan, Вы писали:


C>>>Ну это если совсем необработанное. Но может быть так, что в этой функции отрабатывает new, потом возникает исключение, delete не отрабатывает, исключение ловится где-то выше по стеку, программа продолжает работать с утекшим ресурсом.


S>>В любом случае это ошибка, и она требует исправления а не обработки.


C>Не все исключения суть ошибки, и не все ошибки требуют исправления. В частности, ошибки пользовательского ввода, ошибки прав доступа, ошибки связи с внешними ресурсами могут обнаруживаться где-нибудь внутри, ловиться где-то выше, показываться пользователю — и на следующий виток главного цикла.

Верно. Но в данный момент мы разговариваем в контексте "создали объект, да фигня какаято творится". У меня там с этим либо все нормально, либо еще не доделал. В любом случае пользовательский ввод фильтровать конечно надо, ты прав. Но это как бы не на эксцепшенах принято делать... Хотя конечно варианты есть.
Matrix has you...
Re[9]: Просьба о code review
От: Centaur Россия  
Дата: 30.01.12 11:09
Оценка:
C>>Не все исключения суть ошибки, и не все ошибки требуют исправления. В частности, ошибки пользовательского ввода, ошибки прав доступа, ошибки связи с внешними ресурсами могут обнаруживаться где-нибудь внутри, ловиться где-то выше, показываться пользователю — и на следующий виток главного цикла.
S>Верно. Но в данный момент мы разговариваем в контексте "создали объект, да фигня какаято творится". У меня там с этим либо все нормально, либо еще не доделал. В любом случае пользовательский ввод фильтровать конечно надо, ты прав. Но это как бы не на эксцепшенах принято делать... Хотя конечно варианты есть.

Пользователь попросил сделать что-нибудь с файлом, на который у него нет прав. На чём, как не на исключениях, это делать?
Re[10]: Просьба о code review
От: blackhearted Украина  
Дата: 30.01.12 11:10
Оценка:
Здравствуйте, Centaur, Вы писали:

S>>Верно. Но в данный момент мы разговариваем в контексте "создали объект, да фигня какаято творится". У меня там с этим либо все нормально, либо еще не доделал. В любом случае пользовательский ввод фильтровать конечно надо, ты прав. Но это как бы не на эксцепшенах принято делать... Хотя конечно варианты есть.


C>Пользователь попросил сделать что-нибудь с файлом, на который у него нет прав. На чём, как не на исключениях, это делать?


Коды возврата?
Re[10]: Просьба о code review
От: Sheridan Россия  
Дата: 30.01.12 19:11
Оценка:
Здравствуйте, Centaur, Вы писали:

C>Пользователь попросил сделать что-нибудь с файлом, на который у него нет прав. На чём, как не на исключениях, это делать?

В данном случае да, исключения пригодятся. И этот случай у меня обработан
Matrix has you...
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.