Skip to content

Commit

Permalink
修复有的童鞋头像现实不了的bug,修改按回车或者ctrl+回车发送方式
Browse files Browse the repository at this point in the history
  • Loading branch information
zhanlangsir committed Apr 22, 2012
1 parent c822e06 commit 1a2a5e4
Show file tree
Hide file tree
Showing 9 changed files with 62 additions and 43 deletions.
1 change: 1 addition & 0 deletions login.cpp
Expand Up @@ -179,6 +179,7 @@ QString QQLogin::getLoginStatus() const
default:
break;
}
return "online";
}

void QQLogin::getLoginInfo(QString ptwebqq)
Expand Down
4 changes: 3 additions & 1 deletion login.h
@@ -1,4 +1,5 @@
#pragma once
#ifndef QTQQ_LOGIN_H
#define QTQQ_LOGIN_H

#include "types.h"

Expand Down Expand Up @@ -54,3 +55,4 @@ private slots:
QPoint distance_pos_;
};

#endif //QTQQ_LOGIN_H
46 changes: 24 additions & 22 deletions main.cpp
Expand Up @@ -2,34 +2,36 @@
#include <QTextCodec>
#include <QtMsgHandler>
#include <QSettings>
#include <QTextStream>

#include "login.h"
#include "mainpanel.h"

//void customMessageHandler(QtMsgType type, const char *msg)
//{
// QString txt;
// switch (type) {
// case QtDebugMsg:
// txt = QString("Debug: %1").arg(msg);
// break;
/*
void customMessageHandler(QtMsgType type, const char *msg)
{
QString txt;
switch (type) {
case QtDebugMsg:
txt = QString("Debug: %1").arg(msg);
break;
// case QtWarningMsg:
// txt = QString("Warning: %1").arg(msg);
// break;
// case QtCriticalMsg:
// txt = QString("Critical: %1").arg(msg);
// break;
// case QtFatalMsg:
// txt = QString("Fatal: %1").arg(msg);
// abort();
// }
case QtWarningMsg:
txt = QString("Warning: %1").arg(msg);
break;
case QtCriticalMsg:
txt = QString("Critical: %1").arg(msg);
break;
case QtFatalMsg:
txt = QString("Fatal: %1").arg(msg);
abort();
}
// QFile outFile("debuglog.txt");
// outFile.open(QIODevice::WriteOnly | QIODevice::Append);
// QTextStream ts(&outFile);
// ts << txt << endl;
//}
QFile outFile("debuglog.txt");
outFile.open(QIODevice::WriteOnly | QIODevice::Append);
QTextStream ts(&outFile);
ts << txt << endl;
}*/

int main(int argc, char *argv[])
{
Expand Down
8 changes: 6 additions & 2 deletions mainpanel.cpp
Expand Up @@ -330,9 +330,13 @@ void QQMainPanel::getOnlineBuddyDone(bool err)

void QQMainPanel::getPersonalFace()
{
QString avatar_path = QQAvatarRequester::requestOne(QQAvatarRequester::getTypeNumber(QQItem::kFriend), curr_user_info_.id(), "temp/avatar/");
QString avatar_path = QQAvatarRequester::requestOne(QQAvatarRequester::getTypeNumber(QQItem::kFriend), curr_user_info_.id(), "temp/avatar/");

QPixmap pix(avatar_path);
QFile file(avatar_path);
file.open(QIODevice::ReadOnly);
QPixmap pix;
pix.loadFromData(file.readAll());
file.close();
ui->lbl_avatar_->setPixmap(pix);
}

Expand Down
5 changes: 3 additions & 2 deletions qqavatarrequester.cpp
Expand Up @@ -42,14 +42,15 @@ QString QQAvatarRequester::requestOne(int type, QString id, QString save_path)
fd.write(req.toByteArray());

QByteArray result = NetWorkHelper::quickReceive(&fd);

int content_idx = result.indexOf("\r\n\r\n")+4;

int format_idx = result.indexOf("image/") + 6;
int format_end_idx = result.indexOf("\r\n", format_idx);
QString format = result.mid(format_idx, format_end_idx - format_idx);

QString format = result.mid(format_idx, format_end_idx - format_idx);
QString save_full_path = save_path + id + "." + format;

QFile file(save_full_path);
file.open(QIODevice::WriteOnly);
file.write(result.mid(content_idx));
Expand Down
19 changes: 15 additions & 4 deletions qqchatdlg.cpp
Expand Up @@ -28,19 +28,24 @@ QQChatDlg::QQChatDlg(QString id, QString name, FriendInfo curr_user_info,
te_messages_.setReadOnly(true);
te_input_.setMinimumHeight(70);

QSettings setting("options.ini", QSettings::IniFormat);
send_by_return_ = setting.value("send_by_return").toBool();
send_type_menu_ = new QMenu(this);
act_return_ = new QAction(tr("send by return"), send_type_menu_);

act_return_ = new QAction(tr("send by return"), send_type_menu_);
act_return_->setCheckable(true);
act_ctrl_return_ = new QAction(tr("send by ctrl+return"), send_type_menu_);
act_ctrl_return_->setCheckable(true);

connect(act_return_, SIGNAL(triggered(bool)), this, SLOT(setSendByReturn(bool)));
connect(act_ctrl_return_, SIGNAL(triggered(bool)), this, SLOT(setSendByCtrlReturn(bool)));

send_type_menu_->addAction(act_return_);
send_type_menu_->addAction(act_ctrl_return_);

QSettings setting("options.ini", QSettings::IniFormat);
send_by_return_ = setting.value("send_by_return").toBool();

act_return_->setChecked(send_by_return_);
act_ctrl_return_->setChecked(!send_by_return_);

te_input_.installEventFilter(this);
}

Expand Down Expand Up @@ -76,21 +81,27 @@ QQChatDlg::~QQChatDlg()

void QQChatDlg::setSendByReturn(bool checked)
{
Q_UNUSED(checked)
if (!send_by_return_)
{
QSettings setting("options.ini", QSettings::IniFormat);
setting.setValue("send_by_return", true);
send_by_return_ = true;

act_ctrl_return_->setChecked(false);
}
}

void QQChatDlg::setSendByCtrlReturn(bool checked)
{
Q_UNUSED(checked)
if (send_by_return_)
{
QSettings setting("options.ini", QSettings::IniFormat);
setting.setValue("send_by_return", false);
send_by_return_ = false;

act_return_->setChecked(false);
}
}

Expand Down
8 changes: 0 additions & 8 deletions qqgroupchatdlg.cpp
Expand Up @@ -241,10 +241,6 @@ void QQGroupChatDlg::createSigSql()
{
qDebug()<<query.lastError();
}
else
{
qDebug()<<"create groupsig db success"<<endl;
}
}

void QQGroupChatDlg::parseGroupMemberList(const QByteArray &array, QQItem *const root_item)
Expand Down Expand Up @@ -318,10 +314,6 @@ void QQGroupChatDlg::createSql()
{
qDebug()<<query.lastError();
}
else
{
qDebug()<<"create groupmemberinfo db success"<<endl;
}
}

void QQGroupChatDlg::readFromSql()
Expand Down
4 changes: 2 additions & 2 deletions qqitemmodel.h
Expand Up @@ -30,11 +30,11 @@ class QQItemModel : public QAbstractItemModel
int columnCount(const QModelIndex &parent) const;
QVariant data(const QModelIndex &index, int role) const;

virtual void parse(const QByteArray &str, NameConvertor *convertor) { }
virtual void parse(const QByteArray &str, NameConvertor *convertor) { Q_UNUSED(str) Q_UNUSED(convertor)}
QQItem *find(QString id);

public slots:
virtual void changeFriendStatus(QString id, FriendStatus status, ClientType client_type) {}
virtual void changeFriendStatus(QString id, FriendStatus status, ClientType client_type) { Q_UNUSED(id) Q_UNUSED(status) Q_UNUSED(client_type)}

private:
QQItem* itemFromIndex(const QModelIndex &index) const ;
Expand Down
10 changes: 8 additions & 2 deletions qqmsg.h
Expand Up @@ -30,7 +30,10 @@ class QQChatItem
QString content() const
{ return content_; }
void set_content(QString content)
{ content_ = content; }
{
if (content_ != content)
content_ = content;
}

private:
ChatItemType type_;
Expand All @@ -47,7 +50,10 @@ class QQMsg
MsgType type() const
{ return type_; }
void set_type(MsgType type)
{ type_ = type; }
{
if (type_ != type)
type_ = type;
}

virtual QString sendUin() const { return ""; }
virtual QString talkTo() const { return ""; }
Expand Down

0 comments on commit 1a2a5e4

Please sign in to comment.