Blame view

LiveChat/FeiTalk/gui/msgmemo.cpp 3.06 KB
9f17d59e   陈明泉   no message
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
  #include "msgmemo.h"
  #include "italkingwidget.h"
  #include "ui_msgmemo.h"
  #include <QFile>
  #include <QMessageBox>
  #include <QFileDialog>
  #include "gotyecpp/gotyemsg.h"
  #include "gotye/GotyeMessage.h"
  #include "gotye/GotyeAPI.h"
  USING_NS_GOTYEAPI;
  
  msgMemo::msgMemo(QWidget *parent) :
      BaseMainWidget(parent),
      ui(new Ui::msgMemo)
  {
      ui->setupUi(this);
      this->setWindowFlags(Qt::FramelessWindowHint);//去掉标题栏
  
      ui->textEdit->installEventFilter(this);
  
      QFile source(":Images/style/style1.html");
      source.open(QIODevice::ReadOnly);
      ui->webView->setHtml(QString::fromUtf8(source.readAll().constData()));
      source.close();
  //    this->setStyleSheet("background-color:rgb(200,200,200)");
  
      ui->pushButton_2->hide();
  
  }
  
  msgMemo::~msgMemo()
  {
      delete ui;
  }
  
  QWebView * msgMemo::getMsgView()
  {
  //    GotyeMsg::Instance()->setShowMsgWebviwe(ui->webView);
      return ui->webView;
  }
  
  void msgMemo::on_pushButton_3_clicked()
  {
      this->hide();
  //    this->close();
  }
  
  void msgMemo::on_pushButton_4_clicked()
  {
      this->showMinimized();
  //    this->hide();
  }
  
  void msgMemo::on_pushButton_clicked()
  {
      ui->tabWidget->setCurrentIndex(0);
  }
  
  void msgMemo::on_pushButton_2_clicked()
  {
      ui->tabWidget->setCurrentIndex(1);
  }
  
  void msgMemo::on_msgSeng_clicked()
  {
      if( ui->textEdit->toPlainText() == NULL )
      {
          QMessageBox::warning( this , "warning","Message to be sent cannot be empty!" );
          return;
      }
  //    SendMsgShow( ui->textEdit->toPlainText(),Myhead);
      GotyeMsg::Instance()->sendMessage(ui->textEdit->toPlainText(),GotyeMessageTypeText);
  
      ui->textEdit->clear();
      ui->textEdit->activateWindow();
      ui->textEdit->setFocus();
  }
  
  
  bool msgMemo::eventFilter(QObject *obj, QEvent *e)
  {
  //    Q_ASSERT(obj == inputTextEdit);
      if (e->type() == QEvent::KeyPress)
      {
          QKeyEvent *event = static_cast<QKeyEvent*>(e);
          if ((event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return) && (event->modifiers() & Qt::ControlModifier))
          {
              ui->textEdit->append("");//换行
  //            on_pushButton_clicked(); //发送消息的槽
              return true;
          }
          else if (event->key() == Qt::Key_Enter || event->key() == Qt::Key_Return)
          {
              on_msgSeng_clicked(); //发送消息的槽
              return true;
          }
      }
      return false;
  }
  
  void msgMemo::on_pictureSend_clicked()
  {
      QFileDialog::Options options;
      //if (!native->isChecked())
          options |= QFileDialog::DontUseNativeDialog;
      QString selectedFilter,openFilesPath;
      QStringList files = QFileDialog::getOpenFileNames(
                                  this, tr("QFileDialog::getOpenFileNames()"),
                                  openFilesPath,
                                  tr("Images (*.png *.bmp *.jpg)"),
                                  &selectedFilter,
                                  options);
      if (files.count()) {
          for(int i = 0;i < files.count();i++)
          {
              GotyeMsg::Instance()->sendMessage(files[i],GotyeMessageTypeImage);
  //            SendImageShow( files[i],Myhead);
          }
      }
  }