История изменений
Исправление energyclab, (текущая версия) :
Из одного main могу сказать следующее
ApplicationSettings *Settings = new ApplicationSettings();
[.code]
Нет смысла создавать объект в куче. Читай доки, там ясно написано, что создание QSetting и работа с ним - очень быстрые операции, по-этому, там, где он тебе нужен, просто создаешь на стеке
QSettings s;
...
QObject::connect(StreamProcessor->audioDecoder, SIGNAL(bufferReady()), StreamProcessor, SLOT(transferSamples()));
QObject::connect(DjProcessor->audioDecoder, SIGNAL(bufferReady()), DjProcessor, SLOT(transferSamples()));
Если ты собираешься связывать сигналы и слоты одного и того же объекта класса, то это, как правило, делается внутри этого класса...так сказать сокрытие информации от пользователя.
client.connectToServer("radon");
...
return app.exec();
Здесь нужно понимать, что подключение идет еще до запуска основного лупа qt, обычно это плохая практика и делаю что то типа этого
app.postEvent(client, new StartEvent())
...
return app.exec();
QSettings(QDir::homePath()+"/.radon/radon.conf"
я бы заменил на нечто такое
QSettings(tr("%1%2").arg(QDir::homePath()).arg("/.radon/radon.conf"))
Ну и тебе уже сказал panter_dsd, определись со стилем, и не только именования переменных и и вообще с оформлением кода. т.к. инкапсулированные переменные и методы лучше оформлять как private ну или protected
QString artist;
QString title;
QString album;
QString comment;
QString genre;
uint track;
uint year;
void setTitle(QString title);
void setArtist(QString artist);
void setAlbum(QString album);
void setComment(QString comment);
void setGenre(QString genre);
void setTrack(uint track);
void setYear(uint year);
Еще заметил у тебя класс ApplicationSettings, спрашивается «ЗАЧЕМ»... тем более, зачем класс?
this->artist = QString::fromStdWString(artist.toCWString());
this->album = QString::fromStdWString(album.toCWString());
this->title = QString::fromStdWString(title.toCWString());
this->comment = QString::fromStdWString(comment.toCWString());
this->genre = QString::fromStdWString(genre.toCWString());
this->track = track;
this->year = year;
this здес не нужен, т.к. ты и так внутри объекта...
Исходная версия energyclab, :
Из одного main могу сказать следующее
ApplicationSettings *Settings = new ApplicationSettings();
Нет смысла создавать объект в куче. Читай доки, там ясно написано, что создание QSetting и работа с ним - очень быстрые операции, по-этому, там, где он тебе нужен, просто создаешь на стеке
QSettings s;
...
QObject::connect(StreamProcessor->audioDecoder, SIGNAL(bufferReady()), StreamProcessor, SLOT(transferSamples())); QObject::connect(DjProcessor->audioDecoder, SIGNAL(bufferReady()), DjProcessor, SLOT(transferSamples()));
Если ты собираешься связывать сигналы и слоты одного и того же объекта класса, то это, как правило, делается внутри этого класса...так сказать сокрытие информации от пользователя.
client.connectToServer(«radon»); ... return app.exec();
Здесь нужно понимать, что подключение идет еще до запуска основного лупа qt, обычно это плохая практика и делаю что то типа этого
app.postEvent(client, new StartEvent())
...
return app.exec();
QSettings(QDir::homePath()+«/.radon/radon.conf»
я бы заменил на нечто такое
QSettings(tr("%1%2").arg(QDir::homePath()).arg("/.radon/radon.conf"))
Ну и тебе уже сказал panter_dsd, определись со стилем, и не только именования переменных и и вообще с оформлением кода. т.к. инкапсулированные переменные и методы лучше оформлять как private ну или protected
QString artist; QString title; QString album; QString comment; QString genre; uint track; uint year;
void setTitle(QString title); void setArtist(QString artist); void setAlbum(QString album); void setComment(QString comment); void setGenre(QString genre); void setTrack(uint track); void setYear(uint year);
нет смысла создавать сеттеры, когда у тебя переменные и так public
Еще заметил у тебя класс ApplicationSettings, спрашивается «ЗАЧЕМ»... тем более, зачем класс?
this->artist = QString::fromStdWString(artist.toCWString()); this->album = QString::fromStdWString(album.toCWString()); this->title = QString::fromStdWString(title.toCWString()); this->comment = QString::fromStdWString(comment.toCWString()); this->genre = QString::fromStdWString(genre.toCWString()); this->track = track; this->year = year;
this здес не нужен, т.к. ты и так внутри объекта...