aboutsummaryrefslogtreecommitdiffstats
path: root/doc/README.qt
blob: d308c07a1bbf9bd8faafc735e08b8e7ffcd2e183 (plain)
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
0. Abstract

Wireshark's user interface is showing its age. While GTK+ is wonderful on
Linux and BSD its low-tier status on Windows and even-lower-tier status on OS
X makes it hard to deliver a good product to users on those platforms.

The Qt port is an attempt at an updated UI which will better serve our users
and let us add features more easily.


1. Getting up and running

The Qt interface for Wireshark has been compiled and tested on Mac OS X 10.6
(XCode gcc), Windows 7 x86 (Visual C++ 2010), and Ubuntu 10.04 (gcc).
Compilation via Qt Creator has been tested but command-line compilation using
QMake and make or nmake should work.

The ui/qt directory is loosely coupled with the rest of the codebase. The main
Wireshark sources must be built beforehand using CMake on Linux and OS X and
nmake on Windows. Autotools + QMake is a basket full of crazy that hasn't yet
been sorted and folded.  (Autotools + Boring Old Make, without using
QMake at all, might actually be simpler:

	http://www.mail-archive.com/automake@gnu.org/msg11149.html

Work is in progress on this.)

1.1 Prerequisites

Before compiling you need the Qt SDK and Qt Creator.

1.1.1 OS X

Download the latest Qt SDK (currently 1.1.4) and install it. Build the
top-level directory using CMake.

1.1.2 Windows

The default Qt SDK libraries are built using MinGW, which isn't supported for
Wireshark. Instead of downloading the Qt SDK all-in-one package, download the
Qt Libraries package that matches your compiler (VS 2008 or VS 2010) and Qt
Creator for Windows.

Settings in config.nmake are passed to the Qt environment via
ui/qt/config.pri. This file should be created automatically when you
compile Wireshark in the top-level source directory. You can create it
by hand by running "nmake -f Makefile.nmake ui\qt\config.pri".

Before compiling in Qt Creator select "Projects" in the left toolbar,
select "Build Settings" and do the following:

- In "Edit build configuration" make sure the "Release" build is selected.
  ("Debug" currently crashes.)
  XXX: I was able to build and use a Debug configuration by first building
       Wireshark with /MDd (instead of the normal /MD).
       (/MDd is what QtCreator uses for the debug configuration).
       [Is there a way to config QtCreator to use /MD to build a
       debug Qt Wireshark ? As a complete Qt newbie I have as yet no idea].

       Note: I did the debugging using the VC2010 debugger rather than
       invoking the debugger (CDB ?) from QtCreator.

- Make sure "Qt version" matches your version of Visual Studio.
- Make sure "Tool chain" matches your Visual C++ version.

If you require plugin support select "Run Settings" and add
"WIRESHARK_RUN_FROM_BUILD_DIRECTORY=1" to the Run Environment.

1.1.3 Linux

Install the Qt libraries and Qt Creator via your package manager or from
http://qt.nokia.com/downloads/. On Debian and Ubuntu the "qt-sdk" meta-package
should provide everything you need. Build the top-level directory using CMake
(no out of tree builds yet). Inside ui/qt/ do "qtcreate QtShark.pro".


2. Going forward

DO NOT simply port things over. Every feature, window, and element should be
re-thought. For example, should the user have to navigate two dialogs to get
HTTP request statistics?