qtewin.cpp
来自「远程桌面登陆软件 用rdesktop 但不基于Xwindows 可基于(nano」· C++ 代码 · 共 2,176 行 · 第 1/5 页
CPP
2,176 行
}/******************************************************************************/void QMyDialog::CacheSizeSet(int size1, int size2){ int filesize; char unit[2]; if (size1 > 0) { filesize = size1 / 1000 / 1000; if (filesize <= 0) { filesize = size1 / 1000; sprintf(unit,"K"); } else{ sprintf(unit,"M"); } } else { filesize = 0; sprintf(unit,"K"); } Label10->setText(tr(" 8bpp cache file:%1%2B").arg(filesize).arg(unit)); if (size2 > 0) { filesize = size2 / 1000 / 1000; if (filesize <= 0) { filesize = size2 / 1000; sprintf(unit,"K"); } else{ sprintf(unit,"M"); } } else { filesize = 0; sprintf(unit,"K"); } Label11->setText(tr("16bpp cache file:%1%2B").arg(filesize).arg(unit));} /******************************************************************************/void QMyDialog::CacheChanged(int index){ switch (index) { case 0: Label10->setText(tr(" 8bpp cache file:0KB")); Label11->setText(tr("16bpp cache file:0KB")); break; case 1: Label10->setText(tr(" 8bpp cache file:0KB")); Label11->setText(tr("16bpp cache file:0KB")); break; case 2: CacheSizeSet(CacheSize11,CacheSize12); break; case 3: CacheSizeSet(CacheSize21,CacheSize22); break; case 4: CacheSizeSet(CacheSize31,CacheSize32); break; }}/******************************************************************************/void QMyDialog::DelCache1(){ char Text[256]; int index; QFile* File; index = CacheBox->currentItem(); switch (index) { case 0: break; case 1: break; case 2: sprintf(Text, "/home/zaurus/.rdesktop/cache/pstcache_2_1"); File = new QFile(Text); File->remove(); delete File; CacheSize11 = 0; CacheSizeSet(CacheSize11,CacheSize12); break; case 3: sprintf(Text, "/mnt/card/.rdesktop/cache/pstcache_2_1"); File = new QFile(Text); File->remove(); delete File; CacheSize21 = 0; CacheSizeSet(CacheSize21,CacheSize22); break; case 4: sprintf(Text, "/home/zaurus/Documents/.rdesktop/cache/pstcache_2_1"); File = new QFile(Text); File->remove(); delete File; CacheSize31 = 0; CacheSizeSet(CacheSize31,CacheSize32); break; }}/******************************************************************************/void QMyDialog::DelCache2(){ char Text[256]; int index; QFile* File; index = CacheBox->currentItem(); switch (index) { case 0: break; case 1: break; case 2: sprintf(Text, "/home/zaurus/.rdesktop/cache/pstcache_2_2"); File = new QFile(Text); File->remove(); delete File; CacheSize12 = 0; CacheSizeSet(CacheSize11,CacheSize12); break; case 3: sprintf(Text, "/mnt/card/.rdesktop/cache/pstcache_2_2"); File = new QFile(Text); File->remove(); delete File; CacheSize22 = 0; CacheSizeSet(CacheSize21,CacheSize22); break; case 4: sprintf(Text, "/home/zaurus/Documents/.rdesktop/cache/pstcache_2_2"); File = new QFile(Text); File->remove(); delete File; CacheSize32 = 0; CacheSizeSet(CacheSize31,CacheSize32); break; }}/******************************************************************************/void QMyDialog::OKClicked(){ ServerName = ServerNameEdit->text(); UserName = UserNameEdit->text(); ServerIP = IPEdit->text(); Password = PWDEdit->text(); PortNo = PortNoEdit->text().toInt(); WidthHeight = WidthHeightBox->currentItem(); FullScreen = FullScreenCheckBox->isChecked(); Color = ColorBox->currentItem(); KBD = KBDBox->currentItem(); RDP5Exp1 = RDP5ExpCheckBox1->isChecked(); RDP5Exp2 = RDP5ExpCheckBox2->isChecked(); RDP5Exp3 = RDP5ExpCheckBox3->isChecked(); RDP5Exp4 = RDP5ExpCheckBox4->isChecked(); Cache = CacheBox->currentItem(); Ctrl = CtrlCheck->isChecked(); OK = OKCheck->isChecked(); Left = LeftCheck->isChecked(); Enc = EncCheck->isChecked(); Comp = CompCheck->isChecked(); Sound = SoundBox->currentItem(); Disk = DiskBox->currentItem(); DiskArg = DiskEdit->text(); Console = ConsoleCheck->isChecked(); done(1);}/******************************************************************************/void QMyDialog::CancelClicked(){ done(0);}/******************************************************************************/void QMyDialog::AddClicked(){ int i; QMyConnectionItem * Item; i = ListBox->count(); if (i < 10) { if (ServerNameEdit->text() != "" && IPEdit->text() != ""){ ListBox->insertItem(ServerNameEdit->text()); Item = ConnectionList[i]; Item->ServerName = ServerNameEdit->text(); Item->UserName = UserNameEdit->text(); Item->WidthHeight = WidthHeightBox->currentItem(); Item->ServerIP = IPEdit->text(); Item->FullScreen = FullScreenCheckBox->isChecked(); Item->Password = PWDEdit->text(); Item->PortNo = PortNoEdit->text().toInt(); Item->Color = ColorBox->currentItem(); Item->RDP5Exp = RDP5ExpBox->currentItem(); Item->RDP5Exp1 = RDP5ExpCheckBox1->isChecked(); Item->RDP5Exp2 = RDP5ExpCheckBox2->isChecked(); Item->RDP5Exp3 = RDP5ExpCheckBox3->isChecked(); Item->RDP5Exp4 = RDP5ExpCheckBox4->isChecked(); Item->Cache = CacheBox->currentItem(); Item->KBD = KBDBox->currentItem(); Item->Ctrl = CtrlCheck->isChecked(); Item->OK = OKCheck->isChecked(); Item->Left = LeftCheck->isChecked(); Item->Enc = EncCheck->isChecked(); Item->Comp = CompCheck->isChecked(); Item->Sound = SoundBox->currentItem(); Item->Disk = DiskBox->currentItem(); Item->DiskArg = DiskEdit->text(); Item->Console = ConsoleCheck->isChecked(); } }}/******************************************************************************/void WriteString(QFile* File, QString* Line){ File->writeBlock((const char*)(*Line), Line->length());}/******************************************************************************/void QMyDialog::SaveClicked(){ int i, j; QMyConnectionItem * Item; QString Line; char * home; char Text[256]; QFile* File; i = ListBox->currentItem(); if (i >= 0) { Item = ConnectionList[i]; Item->ServerName = ServerNameEdit->text(); Item->UserName = UserNameEdit->text(); Item->WidthHeight = WidthHeightBox->currentItem(); Item->ServerIP = IPEdit->text(); Item->FullScreen = FullScreenCheckBox->isChecked(); Item->Password = PWDEdit->text(); Item->PortNo = PortNoEdit->text().toInt(); Item->Color = ColorBox->currentItem(); Item->RDP5Exp = RDP5ExpBox->currentItem(); Item->RDP5Exp1 = RDP5ExpCheckBox1->isChecked(); Item->RDP5Exp2 = RDP5ExpCheckBox2->isChecked(); Item->RDP5Exp3 = RDP5ExpCheckBox3->isChecked(); Item->RDP5Exp4 = RDP5ExpCheckBox4->isChecked(); Item->Cache = CacheBox->currentItem(); Item->KBD = KBDBox->currentItem(); Item->Ctrl = CtrlCheck->isChecked(); Item->OK = OKCheck->isChecked(); Item->Left = LeftCheck->isChecked(); Item->Enc = EncCheck->isChecked(); Item->Comp = CompCheck->isChecked(); Item->Sound = SoundBox->currentItem(); Item->Disk = DiskBox->currentItem(); Item->DiskArg = DiskEdit->text(); Item->Console = ConsoleCheck->isChecked(); ListBox->changeItem(ServerNameEdit->text(), i); } home = getenv("HOME"); if (home != NULL) { sprintf(Text, "%s/rdesktop.ini", home); File = new QFile(Text); if (File->open(IO_Truncate | IO_ReadWrite)) { i = ListBox->count(); for (j = 0; j < i; j++) { Item = ConnectionList[j]; Line = "Server="; Line += Item->ServerName; Line += (char)10; WriteString(File, &Line); Line = "UserName="; Line += Item->UserName; Line += (char)10; WriteString(File, &Line); Line = "Password="; Line += Item->Password; Line += (char)10; WriteString(File, &Line); Line = "IP="; Line += Item->ServerIP; Line += (char)10; WriteString(File, &Line); Line = "Port="; sprintf(Text, "%d", Item->PortNo); Line += Text; Line += (char)10; WriteString(File, &Line); Line = "WidthHeight="; sprintf(Text, "%d", Item->WidthHeight); Line += Text; Line += (char)10; WriteString(File, &Line); Line = "FullScreen="; if (Item->FullScreen) Line += "1"; else Line += "0"; Line += (char)10; WriteString(File, &Line); Line = "Color="; sprintf(Text, "%d", Item->Color); Line += Text; Line += (char)10; WriteString(File, &Line); Line = "RDP5Experience="; sprintf(Text, "%d", Item->RDP5Exp); Line += Text; Line += (char)10; WriteString(File, &Line); Line = "RDP5Exp1="; if (Item->RDP5Exp1) Line += "1"; else Line += "0"; Line += (char)10; WriteString(File, &Line); Line = "RDP5Exp2="; if (Item->RDP5Exp2) Line += "1"; else Line += "0"; Line += (char)10; WriteString(File, &Line); Line = "RDP5Exp3="; if (Item->RDP5Exp3) Line += "1"; else Line += "0"; Line += (char)10; WriteString(File, &Line); Line = "RDP5Exp4="; if (Item->RDP5Exp4) Line += "1"; else Line += "0"; Line += (char)10; WriteString(File, &Line); Line = "Caching="; sprintf(Text, "%d", Item->Cache); Line += Text; Line += (char)10; WriteString(File, &Line); Line = "KeyboardType="; sprintf(Text, "%d", Item->KBD); Line += Text; Line += (char)10; WriteString(File, &Line); Line = "Sound="; sprintf(Text, "%d", Item->Sound); Line += Text; Line += (char)10; WriteString(File, &Line); Line = "Disk="; sprintf(Text, "%d", Item->Disk); Line += Text; Line += (char)10; WriteString(File, &Line); Line = "DiskArg="; Line += Item->DiskArg; Line += (char)10; WriteString(File, &Line); Line = "CtrlKeyMode="; if (Item->Ctrl) Line += "1"; else Line += "0"; Line += (char)10; WriteString(File, &Line); Line = "OKKeyMode="; if (Item->OK) Line += "1"; else Line += "0"; Line += (char)10; WriteString(File, &Line); Line = "LeftHandedMode="; if (Item->Left) Line += "1"; else Line += "0"; Line += (char)10; WriteString(File, &Line); Line = "ConsoleSession="; if (Item->Console) Line += "1"; else Line += "0"; Line += (char)10; WriteString(File, &Line); Line = "PacketEncryption="; if (Item->Enc) Line += "1"; else Line += "0"; Line += (char)10; WriteString(File, &Line); Line = "Compression=";
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?