chunkstream version fixedleaselication

git-svn-id: svn://db.shs.com.ru/libs@3 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
2015-03-24 11:04:36 +00:00
parent b3e47dfc99
commit b068a301bf
29 changed files with 406 additions and 95 deletions

View File

@@ -9,10 +9,10 @@ ETabWidget::ETabWidget(QWidget* parent): QTabWidget(parent) {
void ETabWidget::retranslate() {
for (int i = 0; i < buttons.size(); ++i)
buttons[i].toolTip = QApplication::translate("MainWindow", buttons[i].srcToolTip.toUtf8(), 0, QCoreApplication::UnicodeUTF8);
buttons[i].toolTip = QApplication::translate("MainWindow", buttons[i].srcToolTip.toUtf8(), 0/*, QCoreApplication::UnicodeUTF8*/);
QList<QToolButton * > bl = findChildren<QToolButton * >();
foreach (QToolButton * i, bl)
i->setToolTip(QApplication::translate("MainWindow", i->property("sourceToolTip").toString().toUtf8(), 0, QCoreApplication::UnicodeUTF8));
i->setToolTip(QApplication::translate("MainWindow", i->property("sourceToolTip").toString().toUtf8(), 0/*, QCoreApplication::UnicodeUTF8*/));
}

View File

@@ -31,7 +31,7 @@ private:
void tabRemoved(int) {emit countChanged();}
struct TabButton {
TabButton(int r, const QIcon & i, const QString & t) {role = r; icon = i; visible = true; srcToolTip = t; toolTip = QApplication::translate("MainWindow", t.toUtf8(), 0, QCoreApplication::UnicodeUTF8);}
TabButton(int r, const QIcon & i, const QString & t) {role = r; icon = i; visible = true; srcToolTip = t; toolTip = QApplication::translate("MainWindow", t.toUtf8(), 0/*, QCoreApplication::UnicodeUTF8*/);}
int role;
bool visible;
QIcon icon;

View File

@@ -20,7 +20,7 @@ QSingleApplication::QSingleApplication(const QString & app_name): QThread() {
shm.attach();
shm.lock();
void * d = shm.data();
if (d) qMemSet(d, 0, sizeof(quint32));
if (d) memset(d, 0, sizeof(quint32));
shm.unlock();
start();
//qDebug() << "start listen";
@@ -49,11 +49,11 @@ void QSingleApplication::sendMessage(const QByteArray & m) {
quint32 num(0), size = m.size();
void * d = shm.data();
if (d) {
qMemCopy(&num, d, sizeof(quint32));
memcpy(&num, d, sizeof(quint32));
num++;
qMemCopy(d, &num, sizeof(quint32));
qMemCopy((((char*)d) + sizeof(quint32)), &size, sizeof(quint32));
qMemCopy((((char*)d) + sizeof(quint32) + sizeof(quint32)), m.constData(), size);
memcpy(d, &num, sizeof(quint32));
memcpy((((char*)d) + sizeof(quint32)), &size, sizeof(quint32));
memcpy((((char*)d) + sizeof(quint32) + sizeof(quint32)), m.constData(), size);
}
shm.unlock();
}
@@ -65,15 +65,15 @@ void QSingleApplication::run() {
shm.lock();
const void * d = shm.constData();
if (d) {
qMemCopy(&num, d, sizeof(quint32));
memcpy(&num, d, sizeof(quint32));
if (pnum != num) {
pnum = num;
//qDebug() << "new message" << num;
qMemCopy(&size, (((const char*)d) + sizeof(quint32)), sizeof(quint32));
memcpy(&size, (((const char*)d) + sizeof(quint32)), sizeof(quint32));
if (size <= int(QSA_MSGSIZE)) {
QByteArray msg;
msg.resize(size);
qMemCopy(msg.data(), (((const char*)d) + sizeof(quint32) + sizeof(quint32)), size);
memcpy(msg.data(), (((const char*)d) + sizeof(quint32) + sizeof(quint32)), size);
emit messageReceived(msg);
} else {
qDebug() << "[QSingleApplication] Invalid message size:" << size;