summaryrefslogtreecommitdiff
authorzecke <zecke>2005-02-14 16:08:36 (UTC)
committer zecke <zecke>2005-02-14 16:08:36 (UTC)
commit0e6780c400fbae2ccd8895e40480adb4273906ae (patch) (side-by-side diff)
tree1cc48cfef9c0542272da51071ebda0e27b9e3cfc
parent277adb0af903b8bc2760c20891b664b763b667d9 (diff)
downloadopie-0e6780c400fbae2ccd8895e40480adb4273906ae.zip
opie-0e6780c400fbae2ccd8895e40480adb4273906ae.tar.gz
opie-0e6780c400fbae2ccd8895e40480adb4273906ae.tar.bz2
Set a Caption
File a Bug and propose a better name
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opierdesktop/qtwin.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/noncore/net/opierdesktop/qtwin.cpp b/noncore/net/opierdesktop/qtwin.cpp
index e350bf6..181d275 100644
--- a/noncore/net/opierdesktop/qtwin.cpp
+++ b/noncore/net/opierdesktop/qtwin.cpp
@@ -1,192 +1,193 @@
/*
rdesktop: A Remote Desktop Protocol client.
User interface services - X Window System
Copyright (C) Matthew Chapman 1999-2002
qt.cpp by Jay Sorg
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include "rdesktop.h"
#include <qpe/qpeapplication.h>
#include <qmainwindow.h>
#include <qwidget.h>
#include <qpainter.h>
#include <qimage.h>
#include <qsocketnotifier.h>
#include <qscrollview.h>
#include <qmessagebox.h>
#include <qpushbutton.h>
#include <qlineedit.h>
#include <qcombobox.h>
#include <qlabel.h>
#include <qfile.h>
#include <qcheckbox.h>
#include <qpopupmenu.h>
#include "qtwin.h"
#include <stdlib.h>
uint32 flags;
char server[64] = "";
char domain[16] = "";
char password[16] = "";
char shell[128] = "";
char directory[32] = "";
extern int g_width;
extern int g_height;
extern int server_bpp;
extern BOOL fullscreen;
extern char username[];
int global_sock;
QSocketNotifier* SocketNotifier;
QPEApplication* App;
QMyMainWindow* MW;
QMyScrollView* SV;
struct QColorMap
{
uint32 RGBColors[256];
int NumColors;
};
QColorMap* CM;
uint8* BS;
int clipx;
int clipy;
int clipcx;
int clipcy;
struct bitmap
{
int w;
int h;
uint8* data;
};
BOOL owncolmap = False;
//*****************************************************************************
void CleanString(QString* Item)
{
int i;
i = Item->length() - 1;
while (i >= 0)
{
if (Item->at(i) == 10 || Item->at(i) == 13)
Item->remove(i, 1);
i--;
}
}
//*****************************************************************************
QMyDialog::QMyDialog(QWidget* parent) : QDialog(parent, "Settings", true)
{
+ setCaption( tr( "Configuration" ) );
int i, j;
char* home;
char Text[256];
QString Line;
QString ItemName;
QString ItemValue;
// resize dialog
resize(230, 270);
// main list box
ListBox = new QListBox(this);
ListBox->move(10, 10);
ListBox->resize(200, 100);
connect(ListBox, SIGNAL(selectionChanged()), this, SLOT(ListBoxChanged()));
connect(ListBox, SIGNAL(selected(int)), this, SLOT(ListBoxSelected(int)));
// server
Label1 = new QLabel(this);
Label1->setText("Server Desc");
Label1->move(10, 120);
Label1->resize(100, 20);
ServerNameEdit = new QLineEdit(this);
ServerNameEdit->move(75, 120);
ServerNameEdit->resize(100, 20);
// username
Label2 = new QLabel(this);
Label2->setText("User Name");
Label2->move(10, 150);
Label2->resize(100, 20);
UserNameEdit = new QLineEdit(this);
UserNameEdit->move(75, 150);
UserNameEdit->resize(100, 20);
// ip
Label3 = new QLabel(this);
Label3->setText("Server IP");
Label3->move(10, 180);
Label3->resize(100, 20);
IPEdit = new QLineEdit(this);
IPEdit->move(75, 180);
IPEdit->resize(100, 20);
// width and height
WidthHeightBox = new QComboBox(this);
WidthHeightBox->move(10, 210);
WidthHeightBox->resize(100, 20);
WidthHeightBox->insertItem("240x320");
WidthHeightBox->insertItem("640x480");
WidthHeightBox->insertItem("800x600");
connect(WidthHeightBox, SIGNAL(activated(int)), this, SLOT(ComboChanged(int)));
WidthHeightBox->setCurrentItem(1);
WidthEdit = new QLineEdit(this);
WidthEdit->move(110, 210);
WidthEdit->resize(30, 20);
WidthEdit->setText("800");
HeightEdit = new QLineEdit(this);
HeightEdit->move(140, 210);
HeightEdit->resize(30, 20);
HeightEdit->setText("600");
// add to list button
AddButton = new QPushButton(this);
AddButton->move(180, 120);
AddButton->resize(50, 20);
AddButton->setText("Add");
connect(AddButton, SIGNAL(clicked()), this, SLOT(AddClicked()));
// change list item button
EditButton = new QPushButton(this);
EditButton->move(180, 140);
EditButton->resize(50, 20);
EditButton->setText("Edit");
connect(EditButton, SIGNAL(clicked()), this, SLOT(EditClicked()));
// save to file button
SaveButton = new QPushButton(this);
SaveButton->move(180, 160);
SaveButton->resize(50, 20);
SaveButton->setText("Save");
connect(SaveButton, SIGNAL(clicked()), this, SLOT(SaveClicked()));
// remove an item button
RemoveButton = new QPushButton(this);
RemoveButton->move(180, 180);
RemoveButton->resize(50, 20);
RemoveButton->setText("Remove");
connect(RemoveButton, SIGNAL(clicked()), this, SLOT(RemoveClicked()));
// full screen check box
FullScreenCheckBox = new QCheckBox(this, "Full Screen");
FullScreenCheckBox->setText("Full Screen");
FullScreenCheckBox->move(10, 230);
// ok button
OKButton = new QPushButton(this);
OKButton->setText("OK");
OKButton->move(100, 240);
OKButton->resize(50, 20);
connect(OKButton, SIGNAL(clicked()), this, SLOT(OKClicked()));
// cancel button
CancelButton = new QPushButton(this);
CancelButton->setText("Cancel");
CancelButton->move(160, 240);
CancelButton->resize(50, 20);
connect(CancelButton, SIGNAL(clicked()), this, SLOT(CancelClicked()));
@@ -1515,192 +1516,193 @@ void ui_draw_text(uint8 font, uint8 flags, int mixmode,
if (boxcx > 1)
fill_rect(boxx, boxy, boxcx, boxcy, bgcolour);
else if (mixmode == MIX_OPAQUE)
fill_rect(clipx, clipy, clipcx, clipcy, bgcolour);
/* Paint text, character by character */
for (i = 0; i < length;)
{
switch (text[i])
{
case 0xff:
if (i + 2 < length)
cache_put_text(text[i + 1], text, text[i + 2]);
else
{
error("this shouldn't be happening\n");
exit(1);
}
/* this will move pointer from start to first character after FF command */
length -= i + 3;
text = &(text[i + 3]);
i = 0;
break;
case 0xfe:
entry = cache_get_text(text[i + 1]);
if (entry != NULL)
{
if ((((uint8 *) (entry->data))[1] == 0) && (!(flags & TEXT2_IMPLICIT_X)))
{
if (flags & TEXT2_VERTICAL)
y += text[i + 2];
else
x += text[i + 2];
}
for (j = 0; j < entry->size; j++)
DO_GLYPH(((uint8 *) (entry->data)), j);
}
if (i + 2 < length)
i += 3;
else
i += 2;
length -= i;
/* this will move pointer from start to first character after FE command */
text = &(text[i]);
i = 0;
break;
default:
DO_GLYPH(text, i);
i++;
break;
}
}
if (boxcx > 1)
redraw(boxx, boxy, boxcx, boxcy);
else
redraw(clipx, clipy, clipcx, clipcy);
}
//*****************************************************************************
void ui_desktop_save(uint32 offset, int x, int y, int cx, int cy)
{
uint8* data;
int i, j;
data = (uint8*)xmalloc(cx * cy);
for (i = 0; i < cy; i++)
for (j = 0; j < cx; j++)
data[i * cx + j] = get_pixel(x + j, y + i);
cache_put_desktop(offset, cx, cy, cx, 1, data);
xfree(data);
}
//*****************************************************************************
void ui_desktop_restore(uint32 offset, int x, int y, int cx, int cy)
{
uint8* data;
int i, j;
data = cache_get_desktop(offset, cx, cy, 1);
for (i = 0; i < cy; i++)
for (j = 0; j < cx; j++)
set_pixel(x + j, y + i, data[i * cx + j]);
redraw(x, y, cx, cy);
}
//*****************************************************************************
int main(int argc, char** argv)
{
CM = NULL;
BS = NULL;
App = new QPEApplication(argc, argv);
SV = new QMyScrollView();
App->setMainWidget(SV);
SV->showMaximized();
+ SV->setCaption( QMyScrollView::tr("Remote Desktop Client (RDP)") );
SV->timer_id = SV->startTimer(1000);
App->exec();
delete SV;
delete App;
if (CM != NULL)
xfree(CM);
if (BS !=NULL)
xfree(BS);
return 0;
}
/*
MW = new QMyMainWindow();
MW->resize(width, height);
SV->resize(width + 4, height + 4);
App->setMainWidget(SV);
SV->addChild(MW);
MW->setMouseTracking(true);
SocketNotifier = new QSocketNotifier(global_sock, QSocketNotifier::Read, MW);
MW->connect(SocketNotifier, SIGNAL(activated(int)), MW, SLOT(dataReceived()));
if (fullscreen)
SV->showFullScreen();
else
SV->showMaximized();
BS = (uint8*)xmalloc(width * height);
memset(BS, 0, width * height);
clipx = 0;
clipy = 0;
clipcx = width;
clipcy = height;
CM = (QColorMap*)xmalloc(sizeof(struct QColorMap));
memset(CM, 0, sizeof(struct QColorMap));
SV->timer_id = SV->startTimer(1000);
return True;
int main(int argc, char ** argv)
{
uint32 flags;
int i, total_params;
char server[64] = "192.168.0.164";
char domain[16] = "";
char password[16] = "";
char shell[128] = "";
char directory[32] = "";
char* p;
QString param, s1, s2, s3;
flags = RDP_LOGON_NORMAL;
g_argc = argc;
g_argv = argv;
if (!ui_init())
return 1;
total_params = App->argc();
for (i = 1; (i + 1) < total_params; i = i + 2)
{
s1 = App->argv()[i];
s2 = App->argv()[i + 1];
if (s1 == "-g")
{
width = strtol((const char*)s2, &p, 10);
if (*p == 'x')
height = strtol(p + 1, NULL, 10);
}
else if (s1 = "-u")
strcpy(username, (const char*)s2);
}
if (i < total_params)
strcpy(server, App->argv()[i]);
// printf("server %s width %d height %d\n", server, width, height);
if (width == 0 || height == 0)
{
ui_deinit();
return 1;
}
if (!rdp_connect(server, flags, domain, password, shell, directory))
{
ui_deinit();
return 1;
}
if (ui_create_window())
{
ui_main_loop();
ui_destroy_window();
}
rdp_disconnect();