Filewatcher File Search
FTP Search
  
Directory (beta)
  
Content Search (beta)
   
pkg://mrproject-0.5.1-8.src.rpm:855434/mrproject-0.5.1.tar.gz  info  downloads

mrproject-0.5.1/0000777000076400007640000000000007423504536007307 5mrproject-0.5.1/Makefile.in0000664000076400007640000003722607423504466011306 # Makefile.in generated automatically by automake 1.4-p5 from Makefile.am

# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.


SHELL = @SHELL@

srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
prefix = @prefix@
exec_prefix = @exec_prefix@

bindir = @bindir@
sbindir = @sbindir@
libexecdir = @libexecdir@
datadir = @datadir@
sysconfdir = @sysconfdir@
sharedstatedir = @sharedstatedir@
localstatedir = @localstatedir@
libdir = @libdir@
infodir = @infodir@
mandir = @mandir@
includedir = @includedir@
oldincludedir = /usr/include

DESTDIR =

pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@

top_builddir = .

ACLOCAL = @ACLOCAL@
AUTOCONF = @AUTOCONF@
AUTOMAKE = @AUTOMAKE@
AUTOHEADER = @AUTOHEADER@

INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@

NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
host_alias = @host_alias@
host_triplet = @host@
AS = @AS@
BONOBOX_CFLAGS = @BONOBOX_CFLAGS@
BONOBOX_LIBS = @BONOBOX_LIBS@
BONOBO_CFLAGS = @BONOBO_CFLAGS@
BONOBO_LIBS = @BONOBO_LIBS@
BONOBO_REQUIRED = @BONOBO_REQUIRED@
BUILD_INCLUDED_LIBINTL = @BUILD_INCLUDED_LIBINTL@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
DATADIRNAME = @DATADIRNAME@
DLLTOOL = @DLLTOOL@
ECHO = @ECHO@
EVOLUTION_IDL_DIR = @EVOLUTION_IDL_DIR@
EXEEXT = @EXEEXT@
GAL_CFLAGS = @GAL_CFLAGS@
GAL_LIBS = @GAL_LIBS@
GAL_REQUIRED = @GAL_REQUIRED@
GCONF_CFLAGS = @GCONF_CFLAGS@
GCONF_CONFIG = @GCONF_CONFIG@
GCONF_LIBS = @GCONF_LIBS@
GCONF_REQUIRED = @GCONF_REQUIRED@
GCONF_SCHEMA_CONFIG_SOURCE = @GCONF_SCHEMA_CONFIG_SOURCE@
GCONF_SCHEMA_FILE_DIR = @GCONF_SCHEMA_FILE_DIR@
GDK_PIXBUF_REQUIRED = @GDK_PIXBUF_REQUIRED@
GENCAT = @GENCAT@
GLIBC21 = @GLIBC21@
GLIB_REQUIRED = @GLIB_REQUIRED@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GNOMEGNORBA_LIBS = @GNOMEGNORBA_LIBS@
GNOMEUI_GAL_CFLAGS = @GNOMEUI_GAL_CFLAGS@
GNOMEUI_LIBS = @GNOMEUI_LIBS@
GNOME_APPLETS_LIBS = @GNOME_APPLETS_LIBS@
GNOME_CAPPLET_LIBS = @GNOME_CAPPLET_LIBS@
GNOME_CFLAGS = @GNOME_CFLAGS@
GNOME_CONFIG = @GNOME_CONFIG@
GNOME_DOCKLETS_LIBS = @GNOME_DOCKLETS_LIBS@
GNOME_INCLUDEDIR = @GNOME_INCLUDEDIR@
GNOME_LIBDIR = @GNOME_LIBDIR@
GNOME_LIBS = @GNOME_LIBS@
GNOME_LIBS_REQUIRED = @GNOME_LIBS_REQUIRED@
GNOME_PRINT_REQUIRED = @GNOME_PRINT_REQUIRED@
GNOME_VFS_REQUIRED = @GNOME_VFS_REQUIRED@
GNORBA_CFLAGS = @GNORBA_CFLAGS@
GNORBA_LIBS = @GNORBA_LIBS@
GTKXMHTML_LIBS = @GTKXMHTML_LIBS@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_CONFIG = @GTK_CONFIG@
GTK_LIBS = @GTK_LIBS@
GTK_REQUIRED = @GTK_REQUIRED@
HAVE_EVOLUTION_COMPOSER_IDL = @HAVE_EVOLUTION_COMPOSER_IDL@
IDL_FLAGS = @IDL_FLAGS@
INSTOBJEXT = @INSTOBJEXT@
INTLBISON = @INTLBISON@
INTLLIBS = @INTLLIBS@
INTLOBJS = @INTLOBJS@
INTLTOOL_PERL = @INTLTOOL_PERL@
INTL_LIBTOOL_SUFFIX_PREFIX = @INTL_LIBTOOL_SUFFIX_PREFIX@
LIBGLADE_REQUIRED = @LIBGLADE_REQUIRED@
LIBICONV = @LIBICONV@
LIBTOOL = @LIBTOOL@
LIBXML_REQUIRED = @LIBXML_REQUIRED@
LN_S = @LN_S@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
OAF_REQUIRED = @OAF_REQUIRED@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
ORBIT_CFLAGS = @ORBIT_CFLAGS@
ORBIT_CONFIG = @ORBIT_CONFIG@
ORBIT_IDL = @ORBIT_IDL@
ORBIT_LIBS = @ORBIT_LIBS@
ORBIT_REQUIRED = @ORBIT_REQUIRED@
PACKAGE = @PACKAGE@
POFILES = @POFILES@
POPT_REQUIRED = @POPT_REQUIRED@
POSUB = @POSUB@
PREFIX = @PREFIX@
PTHREAD_LIB = @PTHREAD_LIB@
PYTHON_CFLAGS = @PYTHON_CFLAGS@
PYTHON_EXTRA_LIBS = @PYTHON_EXTRA_LIBS@
PYTHON_LIBS = @PYTHON_LIBS@
PYTHON_LIB_LOC = @PYTHON_LIB_LOC@
RANLIB = @RANLIB@
STRIP = @STRIP@
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
VFS_CFLAGS = @VFS_CFLAGS@
VFS_LIBS = @VFS_LIBS@
XML_I18N_EXTRACT = @XML_I18N_EXTRACT@
XML_I18N_MERGE = @XML_I18N_MERGE@
XML_I18N_MERGE_DESKTOP_RULE = @XML_I18N_MERGE_DESKTOP_RULE@
XML_I18N_MERGE_DIRECTORY_RULE = @XML_I18N_MERGE_DIRECTORY_RULE@
XML_I18N_MERGE_KEYS_RULE = @XML_I18N_MERGE_KEYS_RULE@
XML_I18N_MERGE_OAF_RULE = @XML_I18N_MERGE_OAF_RULE@
XML_I18N_MERGE_PONG_RULE = @XML_I18N_MERGE_PONG_RULE@
XML_I18N_MERGE_SERVER_RULE = @XML_I18N_MERGE_SERVER_RULE@
XML_I18N_MERGE_SHEET_RULE = @XML_I18N_MERGE_SHEET_RULE@
XML_I18N_MERGE_SOUNDLIST_RULE = @XML_I18N_MERGE_SOUNDLIST_RULE@
XML_I18N_MERGE_XML_RULE = @XML_I18N_MERGE_XML_RULE@
XML_I18N_UPDATE = @XML_I18N_UPDATE@
XPM_LIBS = @XPM_LIBS@
ZVT_LIBS = @ZVT_LIBS@
cflags_set = @cflags_set@
cxxflags_set = @cxxflags_set@
python_val = @python_val@

SUBDIRS = \
	macros			\
	idl			\
	libmrproject		\
	util			\
	project-engine		\
	client			\
	extras			\
	docs			\
	intl			\
	po                      \
	man


EXTRA_DIST = \
	AUTHORS			\
	README			\
	README.translation	\
	HACKING			\
	mrproject.spec		\
	xml-i18n-extract.in	\
	xml-i18n-merge.in	\
	xml-i18n-update.in


bin_SCRIPTS = run-mrproject
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =  mrproject.spec stamp.h run-mrproject
SCRIPTS =  $(bin_SCRIPTS)

DIST_COMMON =  README ./stamp-h.in ABOUT-NLS AUTHORS COPYING ChangeLog \
INSTALL Makefile.am Makefile.in NEWS acconfig.h aclocal.m4 config.guess \
config.h.in config.sub configure configure.in install-sh ltmain.sh \
missing mkinstalldirs mrproject.spec.in run-mrproject.in stamp.h.in


DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)

TAR = gtar
GZIP_ENV = --best
all: all-redirect
.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) 
	cd $(top_srcdir) && $(AUTOMAKE) --gnu --include-deps Makefile

Makefile: $(srcdir)/Makefile.in  $(top_builddir)/config.status
	cd $(top_builddir) \
	  && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status

$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ configure.in 
	cd $(srcdir) && $(ACLOCAL)

config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	$(SHELL) ./config.status --recheck
$(srcdir)/configure: @MAINTAINER_MODE_TRUE@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
	cd $(srcdir) && $(AUTOCONF)

config.h: stamp-h
	@if test ! -f $@; then \
		rm -f stamp-h; \
		$(MAKE) stamp-h; \
	else :; fi
stamp-h: $(srcdir)/config.h.in $(top_builddir)/config.status
	cd $(top_builddir) \
	  && CONFIG_FILES= CONFIG_HEADERS=config.h \
	     $(SHELL) ./config.status
	@echo timestamp > stamp-h 2> /dev/null
$(srcdir)/config.h.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h.in
	@if test ! -f $@; then \
		rm -f $(srcdir)/stamp-h.in; \
		$(MAKE) $(srcdir)/stamp-h.in; \
	else :; fi
$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h
	cd $(top_srcdir) && $(AUTOHEADER)
	@echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null

mostlyclean-hdr:

clean-hdr:

distclean-hdr:
	-rm -f config.h

maintainer-clean-hdr:
mrproject.spec: $(top_builddir)/config.status mrproject.spec.in
	cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
stamp.h: $(top_builddir)/config.status stamp.h.in
	cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
run-mrproject: $(top_builddir)/config.status run-mrproject.in
	cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status

install-binSCRIPTS: $(bin_SCRIPTS)
	@$(NORMAL_INSTALL)
	$(mkinstalldirs) $(DESTDIR)$(bindir)
	@list='$(bin_SCRIPTS)'; for p in $$list; do \
	  if test -f $$p; then \
	    echo " $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
	    $(INSTALL_SCRIPT) $$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
	  else if test -f $(srcdir)/$$p; then \
	    echo " $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`"; \
	    $(INSTALL_SCRIPT) $(srcdir)/$$p $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
	  else :; fi; fi; \
	done

uninstall-binSCRIPTS:
	@$(NORMAL_UNINSTALL)
	list='$(bin_SCRIPTS)'; for p in $$list; do \
	  rm -f $(DESTDIR)$(bindir)/`echo $$p|sed '$(transform)'`; \
	done

# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
#     (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.

@SET_MAKE@

all-recursive install-data-recursive install-exec-recursive \
installdirs-recursive install-recursive uninstall-recursive  \
check-recursive installcheck-recursive info-recursive dvi-recursive:
	@set fnord $(MAKEFLAGS); amf=$$2; \
	dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    dot_seen=yes; \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
	fi; test -z "$$fail"

mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
	@set fnord $(MAKEFLAGS); amf=$$2; \
	dot_seen=no; \
	rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
	  rev="$$subdir $$rev"; \
	  test "$$subdir" != "." || dot_seen=yes; \
	done; \
	test "$$dot_seen" = "no" && rev=". $$rev"; \
	target=`echo $@ | sed s/-recursive//`; \
	for subdir in $$rev; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	   || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
	done && test -z "$$fail"
tags-recursive:
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
	done

tags: TAGS

ID: $(HEADERS) $(SOURCES) $(LISP)
	list='$(SOURCES) $(HEADERS)'; \
	unique=`for i in $$list; do echo $$i; done | \
	  awk '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	here=`pwd` && cd $(srcdir) \
	  && mkid -f$$here/ID $$unique $(LISP)

TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) $(LISP)
	tags=; \
	here=`pwd`; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
   if test "$$subdir" = .; then :; else \
	    test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
   fi; \
	done; \
	list='$(SOURCES) $(HEADERS)'; \
	unique=`for i in $$list; do echo $$i; done | \
	  awk '    { files[$$0] = 1; } \
	       END { for (i in files) print i; }'`; \
	test -z "$(ETAGS_ARGS)config.h.in$$unique$(LISP)$$tags" \
	  || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.h.in $$unique $(LISP) -o $$here/TAGS)

mostlyclean-tags:

clean-tags:

distclean-tags:
	-rm -f TAGS ID

maintainer-clean-tags:

distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)

# This target untars the dist file and tries a VPATH configuration.  Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
	-rm -rf $(distdir)
	GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
	mkdir $(distdir)/=build
	mkdir $(distdir)/=inst
	dc_install_base=`cd $(distdir)/=inst && pwd`; \
	cd $(distdir)/=build \
	  && ../configure --with-included-gettext --srcdir=.. --prefix=$$dc_install_base \
	  && $(MAKE) $(AM_MAKEFLAGS) \
	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
	  && $(MAKE) $(AM_MAKEFLAGS) check \
	  && $(MAKE) $(AM_MAKEFLAGS) install \
	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
	  && $(MAKE) $(AM_MAKEFLAGS) dist
	-rm -rf $(distdir)
	@banner="$(distdir).tar.gz is ready for distribution"; \
	dashes=`echo "$$banner" | sed s/./=/g`; \
	echo "$$dashes"; \
	echo "$$banner"; \
	echo "$$dashes"
dist: distdir
	-chmod -R a+r $(distdir)
	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
	-rm -rf $(distdir)
dist-all: distdir
	-chmod -R a+r $(distdir)
	GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
	-rm -rf $(distdir)
distdir: $(DISTFILES)
	-rm -rf $(distdir)
	mkdir $(distdir)
	-chmod 777 $(distdir)
	@for file in $(DISTFILES); do \
	  d=$(srcdir); \
	  if test -d $$d/$$file; then \
	    cp -pr $$d/$$file $(distdir)/$$file; \
	  else \
	    test -f $(distdir)/$$file \
	    || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
	    || cp -p $$d/$$file $(distdir)/$$file || :; \
	  fi; \
	done
	for subdir in $(SUBDIRS); do \
	  if test "$$subdir" = .; then :; else \
	    test -d $(distdir)/$$subdir \
	    || mkdir $(distdir)/$$subdir \
	    || exit 1; \
	    chmod 777 $(distdir)/$$subdir; \
	    (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
	      || exit 1; \
	  fi; \
	done
info-am:
info: info-recursive
dvi-am:
dvi: dvi-recursive
check-am: all-am
check: check-recursive
installcheck-am:
installcheck: installcheck-recursive
all-recursive-am: config.h
	$(MAKE) $(AM_MAKEFLAGS) all-recursive

install-exec-am: install-binSCRIPTS
install-exec: install-exec-recursive

install-data-am:
install-data: install-data-recursive

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
install: install-recursive
uninstall-am: uninstall-binSCRIPTS
uninstall: uninstall-recursive
all-am: Makefile $(SCRIPTS) config.h
all-redirect: all-recursive-am
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
installdirs: installdirs-recursive
installdirs-am:
	$(mkinstalldirs)  $(DESTDIR)$(bindir)


mostlyclean-generic:

clean-generic:

distclean-generic:
	-rm -f Makefile $(CONFIG_CLEAN_FILES)
	-rm -f config.cache config.log stamp-h stamp-h[0-9]*

maintainer-clean-generic:
mostlyclean-am:  mostlyclean-hdr mostlyclean-tags mostlyclean-generic

mostlyclean: mostlyclean-recursive

clean-am:  clean-hdr clean-tags clean-generic mostlyclean-am

clean: clean-recursive

distclean-am:  distclean-hdr distclean-tags distclean-generic clean-am
	-rm -f libtool

distclean: distclean-recursive
	-rm -f config.status

maintainer-clean-am:  maintainer-clean-hdr maintainer-clean-tags \
		maintainer-clean-generic distclean-am
	@echo "This command is intended for maintainers to use;"
	@echo "it deletes files that may require special tools to rebuild."

maintainer-clean: maintainer-clean-recursive
	-rm -f config.status

.PHONY: mostlyclean-hdr distclean-hdr clean-hdr maintainer-clean-hdr \
uninstall-binSCRIPTS install-binSCRIPTS install-data-recursive \
uninstall-data-recursive install-exec-recursive \
uninstall-exec-recursive installdirs-recursive uninstalldirs-recursive \
all-recursive check-recursive installcheck-recursive info-recursive \
dvi-recursive mostlyclean-recursive distclean-recursive clean-recursive \
maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
dvi-am dvi check check-am installcheck-am installcheck all-recursive-am \
install-exec-am install-exec install-data-am install-data install-am \
install uninstall-am uninstall all-redirect all-am all installdirs-am \
installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean


# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
mrproject-0.5.1/README0000664000076400007640000001174207352730606010112 MrProject is a free project management application, developed
by CodeFactory AB. 

See http://mrproject.codefactory.se for more information.

Note that MrProject is under heavy development, and might not
behave as expected.

If you would like to contribute to the project, please subscribe
to the MrProject mailing list. Send mail to 
"mrproject-request@lists.codefactory.se" with the word "subscribe"
in the body of the message.

There is a mailing list archive available at
http://lists.codefactory.se/pipermail/mrproject/

There is also an #mrproject IRC channel on irc.gnome.org.


HOW TO BUILD MR PROJECT
-----------------------

To get the sources, you can use CodeFactory's anonymous cvs:

# export CVSROOT=":pserver:anoncvs@cvs.codefactory.se:/cvs"

# cvs login

(press enter for empty password)

# cvs -z3 co -r mrproject-0-4 mrproject 

This checks out the stable branch. If you are interested in
developing MrProject, you probably wan't to check out HEAD instead.

If you have old sources from CVS, you might want to remove them and 
do a clean checkout, because we have been moving around directories
and they don't always go away when you update (if you have object 
files etc in there).

First you have to decide whether you want to install MrProject (and
its dependencies) into the same prefix as the rest of your GNOME
install, or into a new prefix. Installing everything into the same
prefix as the rest of your GNOME install will make it much easier to
build and run programs, and easier to switch between using packages
and building it yourself, but it may also make it harder to uninstall
later.

If you want to install into the same prefix as the rest of GNOME,
type:

	gnome-config --prefix
	gnome-config --sysconfdir

and remember the answers, and pass them to "configure" or "autogen.sh"
when building the other packages you need. Eg:

	./configure --prefix=/usr --sysconfdir=/etc  (if building from tar.gz)

or

	./autogen.sh --prefix=/usr --sysconfdir=/etc (if building from CVS)

If you encounter warnings during the compilation when building from CVS, you
might want to pass --enable-more-warnings=no to autogen.sh, otherwise warnings
will be treated like errors.

If you build in another prefix, you will need to set the GNOME_PATH 
environment variable (and ACLOCAL_FLAGS as well if building from CVS)
to include the prefix you install into. Eg:

    export GNOME_PATH=/usr/local
    export ACLOCAL_FLAGS="-I /usr/local/share/aclocal"

(Assuming your shell is bash, and you installed into /usr/local.) You
need to set GNOME_PATH both during compiling AND when you run
mrproject.

To start MrProject, either use the script run-mrproject, which will
setup your environment variables and take care of everything, or
do it by hand:

Remember that if you're installing into an odd prefix such as 
/opt/gnome, that you need to make sure to put ${prefix}/bin in your
PATH.

If installing in another prefix, you also have to make sure that oaf
finds the .oaf-files, by setting the environment variable OAF_INFO_PATH,
Eg:

    export OAF_INFO_PATH=/opt/gnome/share/oaf

Or, you can edit oaf's configuration file, /etc/oaf/oaf-config.xml,
and add a search path, eg:

<searchpath>
  <item>/usr/local/share/oaf</item>
</searchpath>

Change /usr/local to the prefix you installed MrProject. You also need
to kill any running oafd after this (killall oafd on some systems).


Dependencies
------------

All of these libraries are available in GNOME CVS, under the given
names. Most (but not all) of them are also available as tarballs on
ftp.gnome.org (directory /pub/GNOME/unstable/sources).

Package         Version            CVS tag
-------         -------            -------
gnome-libs      1.2.8 or later     gnome-libs-1-0

gnome-xml       1.8.14 or later,   LIB_XML_1_X
            	but not 2.x

gdk-pixbuf      0.8.0 or later		

ORBit           0.5.7 or later     orbit-stable-0-5

oaf             0.6.5 or later     oaf-stable-0-6

bonobo          1.0.7 or later

gnome-vfs	1.0.0 or later

gnome-print     0.25 or later      gnome-1-4-branch

gal             0.11.2 or later

libglade        0.14 or later      libglade-1-0

xml-i18n-tools  0.8.4 or later (need only if building from cvs)


If you install precompiled packages (rpm, deb, etc), make sure you
install the development version of all the packages as well. Eg:

    bonobo-1.0.7-1.i386.rpm and bonobo-devel-1.0.7-1.i386.rpm for Red Hat

or

    libbonobo and libbonobo-dev for Debian.


Short get-it-running-FAQ:
-------------------------

Q1: I get "Can't activate GanttComponent" or "Can't activate ProjectFactory"
    when I try starting mrproject.

A1: Try to start it by using the run-mrproject script that is installed.
    If this does not work, try starting it by hand and follow the instructions 
    above and make sure you added your prefix to oaf's search path. Make sure 
    that you kill any running oafd.

A2: It is also possible that automake has got confused and that the shared
    library components are missing symbols. So a make clean, make install might
    solve the problem.


mrproject-0.5.1/stamp-h.in0000664000076400007640000000001207423502314011107 timestamp
mrproject-0.5.1/ABOUT-NLS0000644000076400007640000003744207423502236010457 Notes on the Free Translation Project
*************************************

   Free software is going international!  The Free Translation Project
is a way to get maintainers of free software, translators, and users all
together, so that will gradually become able to speak many languages.
A few packages already provide translations for their messages.

   If you found this `ABOUT-NLS' file inside a distribution, you may
assume that the distributed package does use GNU `gettext' internally,
itself available at your nearest GNU archive site.  But you do _not_
need to install GNU `gettext' prior to configuring, installing or using
this package with messages translated.

   Installers will find here some useful hints.  These notes also
explain how users should proceed for getting the programs to use the
available translations.  They tell how people wanting to contribute and
work at translations should contact the appropriate team.

   When reporting bugs in the `intl/' directory or bugs which may be
related to internationalization, you should tell about the version of
`gettext' which is used.  The information can be found in the
`intl/VERSION' file, in internationalized packages.

Quick configuration advice
==========================

   If you want to exploit the full power of internationalization, you
should configure it using

     ./configure --with-included-gettext

to force usage of internationalizing routines provided within this
package, despite the existence of internationalizing capabilities in the
operating system where this package is being installed.  So far, only
the `gettext' implementation in the GNU C library version 2 provides as
many features (such as locale alias, message inheritance, automatic
charset conversion or plural form handling) as the implementation here.
It is also not possible to offer this additional functionality on top
of a `catgets' implementation.  Future versions of GNU `gettext' will
very likely convey even more functionality.  So it might be a good idea
to change to GNU `gettext' as soon as possible.

   So you need _not_ provide this option if you are using GNU libc 2 or
you have installed a recent copy of the GNU gettext package with the
included `libintl'.

INSTALL Matters
===============

   Some packages are "localizable" when properly installed; the
programs they contain can be made to speak your own native language.
Most such packages use GNU `gettext'.  Other packages have their own
ways to internationalization, predating GNU `gettext'.

   By default, this package will be installed to allow translation of
messages.  It will automatically detect whether the system already
provides the GNU `gettext' functions.  If not, the GNU `gettext' own
library will be used.  This library is wholly contained within this
package, usually in the `intl/' subdirectory, so prior installation of
the GNU `gettext' package is _not_ required.  Installers may use
special options at configuration time for changing the default
behaviour.  The commands:

     ./configure --with-included-gettext
     ./configure --disable-nls

will respectively bypass any pre-existing `gettext' to use the
internationalizing routines provided within this package, or else,
_totally_ disable translation of messages.

   When you already have GNU `gettext' installed on your system and run
configure without an option for your new package, `configure' will
probably detect the previously built and installed `libintl.a' file and
will decide to use this.  This might be not what is desirable.  You
should use the more recent version of the GNU `gettext' library.  I.e.
if the file `intl/VERSION' shows that the library which comes with this
package is more recent, you should use

     ./configure --with-included-gettext

to prevent auto-detection.

   The configuration process will not test for the `catgets' function
and therefore it will not be used.  The reason is that even an
emulation of `gettext' on top of `catgets' could not provide all the
extensions of the GNU `gettext' library.

   Internationalized packages have usually many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language.  Unless
translations have been forbidden at `configure' time by using the
`--disable-nls' switch, all available translations are installed
together with the package.  However, the environment variable `LINGUAS'
may be set, prior to configuration, to limit the installed set.
`LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.

Using This Package
==================

   As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
`LL_CC' combination.  Here `LL' is an ISO 639 two-letter language code,
and `CC' is an ISO 3166 two-letter country code.  For example, let's
suppose that you speak German and live in Germany.  At the shell
prompt, merely execute `setenv LANG de_DE' (in `csh'),
`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
This can be done from your `.login' or `.profile' file, once and for
all.

   You might think that the country code specification is redundant.
But in fact, some languages have dialects in different countries.  For
example, `de_AT' is used for Austria, and `pt_BR' for Brazil.  The
country code serves to distinguish the dialects.

   Not all programs have translations for all languages.  By default, an
English message is shown in place of a nonexistent translation.  If you
understand other languages, you can set up a priority list of languages.
This is done through a different environment variable, called
`LANGUAGE'.  GNU `gettext' gives preference to `LANGUAGE' over `LANG'
for the purpose of message handling, but you still need to have `LANG'
set to the primary language; this is required by other parts of the
system libraries.  For example, some Swedish users who would rather
read translations in German than English for when Swedish is not
available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.

   In the `LANGUAGE' environment variable, but not in the `LANG'
environment variable, `LL_CC' combinations can be abbreviated as `LL'
to denote the language's main dialect.  For example, `de' is equivalent
to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
(Portuguese as spoken in Portugal) in this context.

Translating Teams
=================

   For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list.  The up-to-date list of
teams can be found at the Free Translation Project's homepage,
`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
area.

   If you'd like to volunteer to _work_ at translating messages, you
should become a member of the translating team for your own language.
The subscribing address is _not_ the same as the list itself, it has
`-request' appended.  For example, speakers of Swedish can send a
message to `sv-request@li.org', having this message body:

     subscribe

   Keep in mind that team members are expected to participate
_actively_ in translations, or at solving translational difficulties,
rather than merely lurking around.  If your team does not exist yet and
you want to start one, or if you are unsure about what to do or how to
get started, please write to `translation@iro.umontreal.ca' to reach the
coordinator for all translator teams.

   The English team is special.  It works at improving and uniformizing
the terminology in use.  Proven linguistic skill are praised more than
programming skill, here.

Available Packages
==================

   Languages are not equally supported in all packages.  The following
matrix shows the current state of internationalization, as of May 2001.
The matrix shows, in regard of each package, for which languages PO
files have been submitted to translation coordination, with a
translation percentage of at least 50%.

     Ready PO files    bg cs da de el en eo es et fi fr gl hr id it
                     +----------------------------------------------+
     a2ps            |          []             []                   |
     bash            |          []       [] []       []             |
     bison           |          []          [] []    []             |
     clisp           |          []    []    []       []             |
     cpio            |       [] []          []       []             |
     diffutils       |       [] []       [] []       [] []    []    |
     enscript        |          []                   []             |
     error           |                               []             |
     fileutils       |    [] [] [] []       []       [] []          |
     findutils       |       [] []          [] []    [] []    [] [] |
     flex            |       []             []       []             |
     gawk            |                                              |
     gcal            |                                              |
     gcc             |       []                                     |
     gettext         |    [] [] [] []       []       [] []    [] [] |
     gnupg           |          []       []    []    []          [] |
     grep            |                   []    []                [] |
     hello           |       [] []       [] [] [] [] []       [] [] |
     id-utils        |       []                      []             |
     indent          |       [] []             []    [] []          |
     libc            |    [] [] [] []       []       [] []       [] |
     lilypond        |                                              |
     lynx            |    [] [] []                                  |
     m4              |    [] [] [] []                [] []    []    |
     make            |          []          []       [] []          |
     parted          |          []                      []          |
     ptx             |       [] []          [] []    [] []    []    |
     python          |                                              |
     recode          |       [] [] []    [] []       [] []       [] |
     sed             |    []    [] []    []    []    [] []    [] [] |
     sh-utils        |    [] [] [] []       [] []    [] []       [] |
     sharutils       |    [] [] [] []       []       [] []          |
     soundtracker    |                                              |
     sp              |                                              |
     tar             |    [] [] []          [] []    []       [] [] |
     texinfo         |    []    []       []          []             |
     textutils       |    [] [] [] []       []       [] []          |
     util-linux      |    []                                        |
     wdiff           |    [] []             [] []    [] []    []    |
     wget            |    [] [] [] []       [] []    [] []       [] |
                     +----------------------------------------------+
                       bg cs da de el en eo es et fi fr gl hr id it
                        0 14 21 27 10  1  8 20 13  1 28 17  0  9 11
     
                       ja ko lv nl no pl pt pt_BR ru sk sl sv tr zh
                     +----------------------------------------------+
     a2ps            |          []                []    []          |  5
     bash            |                                              |  4
     bison           | []       []                []                |  7
     clisp           |          []                                  |  5
     cpio            |    []    []    []     []   []                |  9
     diffutils       |                []          []       []       | 10
     enscript        |          []           []   []                |  5
     error           |                                              |  1
     fileutils       | [] []    []    []     []   [] [] [] []       | 16
     findutils       |    []    []    []     []   []       []       | 14
     flex            |    []                      []       []       |  6
     gawk            |                                              |  0
     gcal            |                                              |  0
     gcc             | []                                           |  2
     gettext         | [] []    []    []     []   []    [] [] [] [] | 19
     gnupg           | []             []                   []       |  8
     grep            |                                              |  3
     hello           | [] []    []    []     []   [] []    []       | 17
     id-utils        |          []                []       []       |  5
     indent          |    []    []    []          [] []    [] []    | 12
     libc            | [] []       [] []     []      []    []       | 15
     lilypond        |          []                                  |  1
     lynx            | []       []           []   []       []       |  8
     m4              | []       []    []          []       []       | 12
     make            | []       []    []     []   []                |  9
     parted          | []       []                []                |  5
     ptx             |          [] [] [] []       []       []       | 13
     python          |                                              |  0
     recode          |                            []    [] []       | 11
     sed             | []       []           []   [] [] [] []       | 16
     sh-utils        | []       [] [] []     []   [] [] [] []    [] | 19
     sharutils       | []       []                []       []       | 11
     soundtracker    |                                              |  0
     sp              |                                              |  0
     tar             | []       [] [] []     []   []    [] []       | 16
     texinfo         | []                         []                |  6
     textutils       | []       [] [] []     []   [] [] []          | 15
     util-linux      |                       []                     |  2
     wdiff           |          []    []          [] []    []       | 12
     wget            | []          []        []   [] [] [] []    [] | 17
                     +----------------------------------------------+
       29 teams        ja ko lv nl no pl pt pt_BR ru sk sl sv tr zh
       40 domains      18  8  0 23  6 16  1  15   26  9  9 20  2  3  336

   Some counters in the preceding matrix are higher than the number of
visible blocks let us expect.  This is because a few extra PO files are
used for implementing regional variants of languages, or language
dialects.

   For a PO file in the matrix above to be effective, the package to
which it applies should also have been internationalized and
distributed as such by its maintainer.  There might be an observable
lag between the mere existence a PO file and its wide availability in a
distribution.

   If May 2001 seems to be old, you may fetch a more recent copy of
this `ABOUT-NLS' file on most GNU archive sites.  The most up-to-date
matrix with full percentage details can be found at
`http://www.iro.umontreal.ca/contrib/po/HTML/matrix.html'.

Using `gettext' in new packages
===============================

   If you are writing a freely available program and want to
internationalize it you are welcome to use GNU `gettext' in your
package.  Of course the GNU Public License applies to your sources from
then if you include `gettext' directly in your distribution on but
since you are writing free software anyway this is no restriction.

   Once the sources are change appropriately and the setup can handle to
use of `gettext' the only thing missing are the translations.  The Free
Translation Project is also available for packages which are not
developed inside the GNU project.  Therefore the information given above
applies also for every other Free Software Project.  Contact
`translation@iro.umontreal.ca' to make the `.pot' files available to
the translation teams.

mrproject-0.5.1/AUTHORS0000664000076400007640000000040507314330466010272 Richard Hult       <richard.hult@codefactory.se>
Mikael Hallendal   <mikael.hallendal@codefactory.se>

Contributions:
Anders Carlsson    <anders.carlsson@codefactory.se>
Michael Meeks      <michael@ximian.com>
Thomas Nyberg      <thomas.nyberg@codefactory.se> 
mrproject-0.5.1/COPYING0000664000076400007640000004311007213457643010262 		    GNU GENERAL PUBLIC LICENSE
		       Version 2, June 1991

 Copyright (C) 1989, 1991 Free Software Foundation, Inc.
     59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 Everyone is permitted to copy and distribute verbatim copies
 of this license document, but changing it is not allowed.

			    Preamble

  The licenses for most software are designed to take away your
freedom to share and change it.  By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users.  This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it.  (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.)  You can apply it to
your programs, too.

  When we speak of free software, we are referring to freedom, not
price.  Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.

  To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.

  For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have.  You must make sure that they, too, receive or can get the
source code.  And you must show them these terms so they know their
rights.

  We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.

  Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software.  If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.

  Finally, any free program is threatened constantly by software
patents.  We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary.  To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.

  The precise terms and conditions for copying, distribution and
modification follow.

		    GNU GENERAL PUBLIC LICENSE
   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION

  0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License.  The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language.  (Hereinafter, translation is included without limitation in
the term "modification".)  Each licensee is addressed as "you".

Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope.  The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.

  1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.

You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.

  2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:

    a) You must cause the modified files to carry prominent notices
    stating that you changed the files and the date of any change.

    b) You must cause any work that you distribute or publish, that in
    whole or in part contains or is derived from the Program or any
    part thereof, to be licensed as a whole at no charge to all third
    parties under the terms of this License.

    c) If the modified program normally reads commands interactively
    when run, you must cause it, when started running for such
    interactive use in the most ordinary way, to print or display an
    announcement including an appropriate copyright notice and a
    notice that there is no warranty (or else, saying that you provide
    a warranty) and that users may redistribute the program under
    these conditions, and telling the user how to view a copy of this
    License.  (Exception: if the Program itself is interactive but
    does not normally print such an announcement, your work based on
    the Program is not required to print an announcement.)

These requirements apply to the modified work as a whole.  If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works.  But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.

Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.

In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange; or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

The source code for a work means the preferred form of the work for
making modifications to it.  For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable.  However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.

If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.

  4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License.  Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.

  5. You are not required to accept this License, since you have not
signed it.  However, nothing else grants you permission to modify or
distribute the Program or its derivative works.  These actions are
prohibited by law if you do not accept this License.  Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.

  6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions.  You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.

  7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License.  If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all.  For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.

If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.

It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices.  Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.

This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.

  8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded.  In such case, this License incorporates
the limitation as if written in the body of this License.

  9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time.  Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.

Each version is given a distinguishing version number.  If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation.  If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.

  10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission.  For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this.  Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.

			    NO WARRANTY

  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.

  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.

		     END OF TERMS AND CONDITIONS

	    How to Apply These Terms to Your New Programs

  If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA


Also add information on how to contact you by electronic and paper mail.

If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:

    Gnomovision version 69, Copyright (C) year  name of author
    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type `show c' for details.

The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License.  Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.

You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary.  Here is a sample; alter the names:

  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
  `Gnomovision' (which makes passes at compilers) written by James Hacker.

  <signature of Ty Coon>, 1 April 1989
  Ty Coon, President of Vice

This General Public License does not permit incorporating your program into
proprietary programs.  If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library.  If this is what you want to do, use the GNU Library General
Public License instead of this License.
mrproject-0.5.1/ChangeLog0000644000076400007640000032131007423504436010774 2002-01-23  Mikael Hallendal  <micke@codefactory.se>

	* extras/images/Makefile.am (icon_DATA): added mrproject.png

2002-01-23  Richard Hult  <rhult@codefactory.se>

	* extras/desktop/mrproject.keys: s/icon_filename/icon-filename/.

2002-01-14  Richard Hult  <rhult@codefactory.se>

	* configure.in: Bump version.

	* client/components/gantt/gantt-component.c (gc_shell_event): Use
	d(). 

	* client/components/calendar/*.c: Use d() for debug output.

	* client/components/gantt/gantt-model.c (gantt_model_update_task):
	Add pre_change call before changing.
	(gantt_model_remove_all_tasks): Likewise.

	* configure.in: Merge fixes from HEAD.
	Require gal 0.18.

	* Makefile.am (SUBDIRS): Merge from HEAD.

2001-12-18  Richard Hult  <rhult@codefactory.se>

	* configure.in: Branch off mrproject-0-5, remove warning about
	unstable branch.

2001-12-18  Mikael Hallendal  <micke@codefactory.se>

	* configure.in: bumped version to 0.5.0
	-updated to include all languages.

	* project-engine/task-manager.c:
	(tm_insert_full): change Start/Finish according to the new task.

2001-12-17  Mikael Hallendal  <micke@codefactory.se>

	* project-engine/backends/xml-file-filter.c:
	(read_start_end_time): renamed from read_start_time, now sets both
	  start and end time in the propertybag.

2001-12-15  Mikael Hallendal  <micke@codefactory.se>

	* NEWS: updated

	* client/components/task-dialog/task-dialog-gui.glade: 
	- change Task Id: to Task: 

	* client/components/task-dialog/task-dialog-gui.c:
	(tdg_update_labels): added, update the task-name labels.
	(tdg_update_gui): call tdg_update_labels instead of setting labels
	  here.
	(tdg_name_changed_cb): call tdg_update_labels.
	(task_dialog_gui_update_note): block the apply-button
	(tdg_create_gui): get the apply-button from glade
	(tdg_connect_signals): connect to apply button
	(tdg_note_apply_cb): only send the note after apply button
	  pressed.

	* client/components/task-dialog/task-dialog.c: removed unused
	  variable from privstruct

	* client/components/gantt/gantt-component.etstate: 
	- don't show id column

	* client/components/task-dialog/task-dialog-alloc-table.etstate: 
	- don't show id column
	- sort on name column by default

	* client/components/resource/resource-component.etstate:
	- don't show id column

	* client/components/task-dialog/task-dialog-gui.c:
	(tdg_note_stamp_clicked_cb): removed conversion from utf8 since
	  the string isn't in utf8.

2001-12-15  Richard Hult  <rhult@codefactory.se>

	* client/components/task-dialog/task-dialog-gui.glade: Add apply
	button to the notes page.

	* client/components/calendar/month-view.c: Remove debug spew.

2001-12-13  Richard Hult  <rhult@codefactory.se>

	* util/corba-utils.c (corba_util_dependency_seq_from_list): Add
	some out-commented debug printing.

	* project-engine/task-manager.c (impl_TaskManager_linkTasks): Eek,
	set the type, or we have an uninitialized variable that gets
	passed over CORBA (noticed this in the Java client).

	* project-engine/backends/xml-file-filter.c
	(xml_read_predecessor): Warn if we read an invalid deps type.

2001-12-12  Richard Hult  <rhult@codefactory.se>

	* docs/Makefile.am: Remove TODO from dist as well.

2001-12-04  Richard Hult  <rhult@codefactory.se>

	* project-engine/allocation-manager.c
	(impl_AllocationManager_getAllocation): Impl.

	* idl/GNOME_MrProject_AllocationManager.idl: Add method
	getAllocation.

2001-12-02  Richard Hult  <rhult@codefactory.se>

	* docs/TODO: Remove this obsolete file.

2001-12-12  Richard Hult  <rhult@codefactory.se>

	* mrproject.spec.in: Include the data files as well... man,
	appearantly I forgot to commit this after 0.4.1 :/

	* client/components/resource/group-dialog.c
	(gd_update_entries_text): Handle utf-8 correctly, based on a patch
	from Andrei Smirnov <as@summatech.ru>.
	(group_dialog_add_group): Convert to locale string from utf-8
	before we put the name in the clist.
	(gd_update_group_cb): Handle utf8 correctly.

	* All the Makefile.am: Add the generated oaf files to
	EXTRA_DIST. I'm not completely sure about the correctness of this,
	but other projects (like Nautilus) does it and also, distcheck
	doesn't pass without this on my rh7.2 box.

	* client/components/gantt/gantt-print.c (gantt_print_info_new):
	Use gnome_font_new_closest to be sure to always get a font.

2001-12-01  Richard Hult  <rhult@codefactory.se>

	* client/components/task-dialog/task-dialog-gui.c
	(tdg_note_stamp_clicked_cb): Tweak the stamp format.

	* client/Makefile.am: Add -export-dynamic to the executable. Let's
	see if this make things work better on *BSD.

2001-11-27  Richard Hult  <rhult@codefactory.se>

	* client/components/task-dialog/task-dialog-gui.c
	(tdg_date_time_changed_cb): Don't emit changed signal if nothing
	changed.

2001-11-17  Richard Hult  <rhult@codefactory.se>

	Update for GAL changes.
	* client/e-table-cells/m-cell-date.c (m_cell_date_get_popup_pos):
	Pass the row and view_col here, use them to get the x/y.
	(m_cell_date_show_popup): Pass the row and col.
	(m_cell_date_do_popup): Pass the row and col.

	* client/components/gantt/gantt-component.c
	(gantt_control_activate): Set the title for the date popup.
	(real_set_sensitivity): Make assign button sensitive only when one
	task is selected.
	(real_set_sensitivity): Don't set the sensitivity of the goto date
	button, it should always be sensitive.
	(tree_is_editable): Remove stale comment.
	(tree_is_editable): Return FALSE for the start/finish columns, we
	don't want the cursor editing here, just the popup.
	(create_tree_extras): Set "editable" to TRUE for the child cell of
	the date popup cell. Remove the "render_date" cell, it's not used.
	(real_set_sensitivity): Remove selected_count workaround, e-table
	is fixed.
	(gc_setup_right_click_menu): Rename for consistency.
	(e_tree_button_press): Add comment about broken etree.

	* client/widgets/goto-popup.c (goto_popup_new): Add title
	argument.
	(goto_popup_destroy): Add, free title.

2001-11-09  Mikael Hallendal  <micke@codefactory.se>

	* configure.in 
	(BONOBO_CFLAGS): added gdk_pixbuf

2001-11-04  Richard Hult  <rhult@codefactory.se>

	* client/shell.c (shell_open): Comment out the IOR printing bits.

	* client/manager-clients/Makefile.am
	(libmanager_clients_la_SOURCES): Clean up a bit.

	* client/e-table-cells/m-cell-date.c (m_cell_date_do_popup):
	Change prototype to match changed ETable.

	* configure.in: Move around AM_PROG_LIBTOOL and AC_PROG_CC to get
	rid of warnings. Also change the Evolution IDL check to use test
	-f instead of AC_CHECK_FILE to get rid of another warning.

2001-10-26  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/month-view.c 
	(month_view_layout_tasks): Now handles missing parents somewhat
	intelligent.

	* client/components/calendar/calendar-component.c 
	(cc_apply_resource_filter): Now checks the filter_tasks-flag before
	filtering each task.
	(cc_clear_resource_filter): Added function.
	(cc_cmd_resource_filter): Now connects to the clear_filter-signal.

	* client/component/calendar/resource-filter-dialog-gui.glade:
	Added a "clear-filter"-button.

	* client/components/calendar/resource-filter-dialog-gui.c 
	(rfdg_button_clear_cb): Added function.
	(rfdg_connect_signals): Now connects to the button_clear.

	* client/components/calendar/resource-filter-dialog-gui.h: 
	Added signal "clear_filter".

	* client/components/calendar/month-view.c 
	(month_view_update_task): Now checks to make sure the task exists.
	(month_view_reparent_task): ditto.

	* client/components/calendar/calendar-component.c 
	(cc_resource_filter_apply): Added code to remove tasks that shouldn't
	be displayed.
	(cc_apply_resource_filter): Added function.
	(cc_allocations_removed_cb): Now calls cc_apply_resource_filter.
	(cc_allocation_added_cb): ditto.

	* client/components/calendar/month-view.c 
	(month_view_insert_task): Now checks to make sure the task doesn't
	already exist.

	* client/components/calendar/calendar-component.c 
	(cc_resource_inserted_cb): Now uses the new ResourceFilter-object.
	(cc_allocation_added_cb): Function simplified since it's now using
	ResourceFilter.
	(cc_allocations_removed_cb): Simplified function by using 
	ResourceFilter.
	(cc_task_inserted_cb): Now uses ResourceFilter.
	(cc_tasks_removed_cb): ditto.

	* client/components/calendar/Makefile.am 
	(libcalendar_component_la_SOURCES): Added resource-filter.[ch].

	* client/components/calendar/resource-filter.[ch]: 
	Added file.

	* client/components/calendar/resource-filter-dialog-gui.h 
	(RESOURCE_FILTER_DIALOG_GUI_CLASS): Fixed a typo.

2001-10-24  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/resource-filter-dialog-gui.c 
	(rfdg_resource_allocated_cb): Added function.
	(rfdg_connect_signals): Now connects to the signals from
	resource-filter-model.

	* client/components/calendar/calendar-component.c 
	(calendar_component_destroy): Now also destroys the task
	and resource-maps and their contents.
	(cc_resource_filter_apply): Added function.
	(cc_resource_filter_dialog_destroy): Added function.
	(cc_cmd_resource_filter): Now listens to signals from
	the resource-filter-dialog-gui.

2001-10-23  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/calendar-component.c 
	(calendar_component_add_to_shell): Now listens to all
	signals from ResourceManager.
	(cc_resource_removed_cb): Added function.
	(cc_resource_updated_cb): Added function.
	(cc_resource_inserted_cb): Added function.

	* client/components/calendar/resource-filter-dialog-gui.c 
	(resource_filter_dialog_gui_add_resource): Added function.
	(resource_filter_dialog_gui_remove_resource): ditto.
	(resource_filter_dialog_gui_add_resources): ditto.
	(resource_filter_dialog_gui_update_resource): ditto.

	* client/components/calendar/Makefile.am: 
	Added filter-table-model.[ch].
	(EXTRA_DIST): Now also installs the etstate and etspec-files,
	works much better now :)

	* client/components/calendar/calendar-component.c 
	(cc_cmd_resource_filter): Removed testing-code for glade.

	* client/components/calendar/filter-table-model.[ch]: 
	Stole alloc-table-model.[ch] from task-dialog, changed names
	and added them to cvs.

	* client/components/calendar/resource-filter-dialog-gui.c 
	(rfdg_set_sensitivity): Added function.

2001-10-22  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/resource-filter-dialog-gui.[ch]:
	Added file.

	* client/components/calendar/resource-filter-table.etstate: 
	Added file.

	* client/components/calendar/resource-filter-table.etspec: 
	Added file.

2001-10-23  Richard Hult  <rhult@codefactory.se>

	* client/components/calendar/calendar-component.c
	(calendar_component_remove_from_shell): Destroy the resource
	manager client and the allocation manager client. Fixes the left
	over running engine.
	(calendar_component_destroy): Unref the control.
	(cc_allocations_removed_cb): Don't assert if we don't have a task
	here, just warn and continue.

	* project-engine/allocation-manager.c
	(impl_AllocationManager_allocate): Check that the task really
	exists before allocating, raise an exception otherwise.
	(am_does_task_exist): New function that checks if a task exists.

	* client/components/gantt/gantt-model.c (gantt_model_link): Fix
	typo.
	(gantt_model_unlink): Ditto.
	(gantt_model_assign_allocation): Make error message more helpful.
	(gantt_model_unassign_allocation): Ditto.

	* idl/GNOME_MrProject_AllocationManager.idl: We must have a raises
	clause for all the exceptions that we might raise or we will get a
	CORBA transport error when we raise it.

	* client/components/task-dialog/task-dialog-gui.c
	(tdg_note_stamp_clicked_cb): New function, inserts a time stamp in
	the notes text widget.
	(tdg_connect_signals): Connect to the stamp button.

2001-10-22  Richard Hult  <rhult@codefactory.se>

	* client/Makefile.am (glade_DATA): Remove unused glade file.
	(confirm-exit-dialog.glade): Remove. 

	* client/components/task-dialog/task-dialog-gui.c
	(task_dialog_gui_update_note): Prevent a signal loop by blocking
	around update code. Restore cursor position after changing text.

	* project-engine/backends/xml-file-filter.c (write_task):
	s/g_free/CORBA_free/.

	* client/e-table-cells/Makefile.am: Add more CFLAGS.

2001-10-19  Richard Hult  <rhult@codefactory.se>

	* client/components/calendar/calendar-component.c
	(cc_cmd_resource_filter): Comment out two variables temporarily to
	fix build.

2001-10-19  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/calendar-component.c 
	(cc_allocation_added_cb): Now does useful stuff with our resources.
	(cc_allocations_removed_cb): ditto.
	(cc_cmd_resource_filter): Added some testing-code.

	* client/components/calendar/resource-filter-dialog-gui.glade:
	Added file to cvs.

	* client/components/calendar/GNOME_MrProject_CalendarComponent.ui: 
	Added "ResourceFilter"-command and verb.

	* client/components/calendar/calendar-component.c 
	(cc_set_pixmap): Added helperfunction.
	(calendar_control_activate): Now activates verbs and other 
	cool stuff.
	(cc_cmd_resource_filter): Added new command.
	(calendar_component_add_to_shell): Now creates both a
	resource_manager_client and an allocation_manager_client.
	(calendar_component_add_to_shell): Added more signals to listen,
	mainly the allocation-signals.
	(cc_allocation_added_cb): Added function.
	(cc_allocations_removed_cb): ditto.
	(cc_task_inserted_cb): Now adds each task to private idmap. For use
	with resource-filters later on.
	(cc_tasks_removed_cb): Now removes from internal idmap too.
	(cc_task_updated_cb): ditto.
	(cc_items_foreach_clear): Added function.
	(cc_items_clear_cb): Now clears the internal idmap too.
	(cc_task_reparented_cb): Now updates parentId for internal idmap.

2001-10-18  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/month-view.c 
	(month_view_reparent_task): Added function.
	(month_view_layout_tasks): Now uses a better way of creating
	the order which the tasks should be laid out in.
	(month_view_foobar): Added function to traverse a hashtable
	and create the list of tasks for layout. Need a better name.
	(month_view_foobar_sort): Added function to sort first
	by type then by length.
	(month_view_task_sort): Renamed from month_view_foobar_sort.
	(parent_hash2list): Renamde from month_view_foobar.
	(month_view_layout_tasks): Added code to destroy the parent_hash.
	(parent_hash_remove): Added function.

	* client/components/calendar/calendar-component.c 
	(cc_task_reparented_cb): Function implemented.

	* project-engine/backends/file-project.c: Now
	includes gnome-i18n.h.

2001-10-17  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/calendar-component.c 
	(cc_task_inserted_cb): Removed stuff that was not needed.

	* client/components/calendar/month-view-summary-task-item.c 
	(month_view_summary_task_item_draw): Did some cleaning up.

2001-10-17  Richard Hult  <rhult@codefactory.se>

	* client/widgets/Makefile.am (INCLUDES): Ditto.

	* util/Makefile.am (INCLUDES): Ditto.

	* libmrproject/Makefile.am (INCLUDES): Add BONOBO_CFLAGS.

	* project-engine/backends/file-project.c (fp_load): Don't raise
	FileNotFound, raise IOFailure and set an error message.

	* idl/GNOME_MrProject_Project.idl: Add message to IOFailure
	exception.

	* project-engine/backends/mpx-file-filter.c (mpx_insert_task): Fix
	comment.

	* client/components/task-dialog/task-dialog-gui.c
	(tdg_gtk_editable_set_text_utf8): Add small convenience function.

	* client/components/task-dialog/task-dialog.c
	(impl_GNOME_MrProject_TaskDialog_setTaskId): Set the initial note.

	* client/components/task-dialog/task-dialog-gui.c
	(tdg_note_changed_cb): Impl.
	(tdg_create_gui): Get the note text widget from glade.
	(tdg_connect_signals): Connect to the "changed" signal on the note
	text widget.
	(task_dialog_gui_update_note): Impl.

	* project-engine/task-manager.c (impl_TaskManager_setNote): Don't
	free the note and then the any, just free the any since that will
	free the note as well (but just once, so it won't crash).
	(impl_TaskManager_getNote): Don't return CORBA_OBJET_NIL when
	a string is expected, return "" instead. Fixes crash when there is
	no note.

2001-10-17  Mikael Hallendal  <micke@codefactory.se>

	* project-engine/backends/file-task-manager.c:
	(ftm_set_note): use string instead of Note.
	(ftm_get_note): dito.

	* project-engine/backends/xml-file-filter.c:
	(write_task): write Note to file.
	(xml_read_task): read Note from file.

	* project-engine/task-manager.c:
	(impl_TaskManager_setNote): use string instead of Note.
	(impl_TaskManager_getNote): dito.

	* idl/GNOME_MrProject_TaskManager.idl: use string instead of Note.

	* idl/GNOME_MrProject_Common.idl: removed struct Note.

	* util/corba-utils.[ch]: 
	(corba_util_note_copy): removed
	(corba_util_note_duplicate): removed
	(GM_Note): removed.

	* client/manager-clients/task-manager-client.[ch]:
	(task_mc_get_note): return gchar *.
	(task_mc_set_note): take gchar *.

	* client/components/task-dialog/task-dialog.[ch]:
	(td_note_changed_cb): remove GM_Note, use gchar *

	* client/components/task-dialog/task-dialog-gui.[ch]:
	(task_dialog_gui_update_note): take gchar * instead of GM_Note *
	

2001-10-17  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/gantt-component.c
	(gantt_row_double_clicked): Make double-clicking a row bring up
	the task dialog with the task id clicked, not the one that is
	selected in the etree.
	(gantt_row_double_clicked): Sanity check.

	* client/components/task-dialog/task-dialog-gui.c
	(tdg_update_gui): Set start/end sensitivity.

	* client/components/gantt/gantt-component.c
	(gantt_component_init): Remove debugging code.
	(gantt_row_double_clicked): Add missing event argument.

2001-10-17  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/month-view.c 
	(month_view_update_task): a == b is _not_ the same as a != b.

	* client/components/calendar/month-view-task-item.c 
	(month_view_task_item_draw): Now only handles normal tasks.

2001-10-16  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/month-view-summary-task-item.c 
	(month_view_summary_task_item_realize): Added function.

	* client/components/calendar/month-view.c 
	(month_view_remove_task_spans): Added function.
	(month_view_assign_task_item_type): Added function.
	(month_view_update_task): Now handles change of task-type.
	(month_view_remove_task): Now uses month_view_remove_task_spans.
	(month_view_clear_visible_tasks): ditto.
	(month_view_clear_tasks): ditto.

	* client/components/calendar/month-view-summary-task-item.[ch]:
	Added files.

	* client/components/calendar/month-view.c 
	(month_view_insert_task): Now checks the type of task.
	Added GtkType type to struct _MonthViewTask.
	(month_view_update_spans): Now uses MonthViewTask->type instead
	of hardwiring the type of span to use.

2001-10-16  Richard Hult  <rhult@codefactory.se>

	* project-engine/engine.c (impl_Engine_shutDown): Impl change.

	* idl/GNOME_MrProject_Engine.idl: Change the behaviour of shutDown
	slightly.

	* client/shell.c (shell_remove_from_project): Don't display the
	exception in a dialog here, it's useless.
	(shell_remove_from_project): Comment out the dialog here as
	well.

	* client/project-window.c (project_window_really_exit): Use stock
	button for Quit, merge from 0.4.x.

	* project-engine/engine.c (impl_Engine_shutDown): Impl.
	(impl_Engine__set_immortal): Impl.
	(impl_Engine__get_immortal): Impl.
	(project_destroyed): Quit if mortal and last project goes away.

	* project-engine/engine.c (impl_Engine_getProjects): Duplicate
	the CORBA refs and fill the seq before returning.

	* project-engine/main.c: Create and register the engine.

	* project-engine/GNOME_MrProject_ProjectEngine.oaf.in: Add Engine
	server.

	* client/components/calendar/month-view-task-item.c: 
	s/e_utf8_to_locale_string/e_utf8_to_gtk_string/.

	* client/components/calendar/month-view.c: Don't hard code a font,
	use the default one (merge from 0.4.x).

	* idl/GNOME_MrProject_Engine.idl: New interface to control the
	engine.

	* project-engine/engine.[ch]: Impl the Engine interface.

	* tests/engine-test.py: New test.

	* util/corba-utils.h (GM_ProjectSeq): Add ProjectSeq.

2001-10-11  Richard Hult  <rhult@codefactory.se>

	* idl/GNOME_MrProject_Engine.idl: Add engine IDL.

	* libmrproject/Makefile.am: Add engine IDL.

	* extras/images/Makefile.am (images_DATA): Unscrewup.

2001-10-10  Mikael Hallendal  <micke@codefactory.se>

	* tests/MrProject.java: added

2001-10-08  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/gantt-component.c
	(gantt_control_activate): Set a pixmap for the assign button. An
	ugly one.

	* client/components/task-dialog/task-dialog-gui.c
	(tdg_update_gui): Change the id label on all pages.

	* client/components/task-dialog/task-dialog-gui.glade: Tweak the
	dialog and check in initial notes page.

	* client/components/gantt/gantt-component.c
	(activate_task_dialog): Oops, set the task id.

2001-10-07  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/GNOME_MrProject_GanttComponent.ui: Add
	command and menu item for insert sub task.

	* client/components/gantt/gantt-component.c (gc_create_task): 
	(gc_insert_subtask): 
	(gc_insert_below): Refactor those to share more code and make
	things cleaner.
	(cmd_insert): Just invoke gc_insert_task_below.

	* idl/GNOME_MrProject_TaskDialog.idl: Add enum for the task dialog
	notebook pages.
	Add method to switch the visible page.

	* client/components/gantt/GNOME_MrProject_GanttComponent.ui: Add
	assign item to the edit menu.

	* client/components/task-dialog/task-dialog.c
	(task_dialog_class_init): Add new method to epv.

	* client/components/task-dialog/task-dialog-gui.c: Use debug macro.
	(task_dialog_gui_show_tab): Add.

	* client/components/task-dialog/task-dialog.c: Use debug macro.
	(impl_GNOME_MrProject_TaskDialog_showPage): Impl.

	* client/components/gantt/GNOME_MrProject_GanttComponent.ui: Add
	assign command and toolbar icon.

	* client/components/gantt/gantt-component.c
	(gantt_setup_right_click_menu): Take extra argument to specify
	whether we have a task selected or not. Make certain items
	insensitive if we don't.
	(gc_control_new): Connect to button press event.
	(e_tree_button_press): Show the right click menu for right clicks
	on the empty area of the ETree.

	* client/components/gantt/gantt-chart.c: Clean up a bit.

	* project-engine/backends/file-allocation-manager.c (fam_destroy):
	CORBA_free CORBA data, don't g_free it! 

	* *.oaf.in.in: Add name and description to oaf files that didn't
	have them already.
	
	* client/widgets/Makefile.am (INCLUDES): Add ORBIT_CFLAGS.

	* client/components/gantt/gantt-row-item.c (gantt_row_item_event):
	Use gantt_model_task_duration_changed instead of
	gantt_model_task_moved.
	(gantt_row_item_event): Use gantt_model_task_moved instead of
	_task_changed.

	* client/components/gantt/gantt-model.c: Add signals,
	"task-duration-changed" and "task-moved".
	(gantt_model_task_moved): Add, emits the signal.
	(gantt_model_task_duration_changed): Add, emits the signal.

	* client/manager-clients/task-manager-client.c
	(task_mc_move_task): Impl.
	Remove task_mc_is_task_summary and _is_reccurent.
	(task_mc_set_task_duration): Impl.

	* configure.in (VERSION): Bump since the idl changed.

	* project-engine/task-manager.c (impl_TaskManager_moveTask): Impl.
	(impl_TaskManager_setTaskDuration): Impl.

	* idl/GNOME_MrProject_TaskManager.idl: Remove isTaskRecurrent and
	isTaskSummary, those are unused (and not implemented).
	Add moveTask and setTaskDuration methods.

	* client/components/gantt/gantt-row-item.c
	(gantt_row_item_realize): Simplify and set the complete fill gc to
	use stipple.
	(gantt_row_item_draw): Simplify by always drawing the background
	and then overlaying the percent complete stipple.

	* libmrproject/Makefile.am: Remove IDL_FLAGS from the C includes.

2001-10-04  Richard Hult  <rhult@codefactory.se>

	* client/components/task-dialog/task-dialog-gui.c
	(tdg_create_gui): Add the resource page to the glade file.
	
2001-10-06  Mikael Hallendal  <micke@codefactory.se>

	* util/Makefile.am (INCLUDES): added ORBIT_CFLAGS

	* libmrproject/Makefile.am (INCLUDES): added ORBIT_CFLAGS

2001-10-02  Richard Hult  <rhult@codefactory.se>

	* client/shell.c (check_version): Make sure we don't pass NULL to
	strcmp.

	* client/main.c (main): Add small comment for translators per
	request.

2001-10-02  Mikael Hallendal  <micke@codefactory.se>

	* client/components/task-dialog/task-dialog-gui.h: 
	- killed some braindead mumbo-jumbo

	* client/components/task-dialog/task-dialog-gui.[c]:
	(task_dialog_gui_update_note): added.

	* client/project-window.c (about_cb): changed "MrProject" to
	"CodeFactory MrProject". 

	* util/corba-utils.[ch]:
	(corba_util_note_copy): added/impl.
	(corba_util_note_duplicate): use corba_util_note_copy.

	* project-engine/task-manager.c:
	(impl_TaskManager_setNote): emit note_changed.

	* client/manager-clients/task-manager-client.c:
	(task_mc_class_init): remove note_[added|removed], only have
	_changed.
	(tmc_listener): listen for note_changed.

	* client/components/task-dialog/task-dialog-gui.[ch]:
	(task_dialog_gui_class_init): added note_changed signal

	* idl/GNOME_MrProject_TaskManager.idl: renamed to
	  EventNoteChanged. Also fixed compile-error.

	* idl/GNOME_MrProject_TaskManager.idl: added EventNoteAdded.

	* client/manager-clients/task-manager-client.[ch]: 
	- added signals note_added and note_removed.
	(task_mc_class_init): create the signals.
	(task_mc_get_note): added/impl.
	(task_mc_set_note): added/impl.

	* util/corba-utils.[ch]:
	(corba_util_note_duplicate): added/impl.

	* project-engine/backends/file-task-manager.c:
	(ftm_get_note): added/impl.
	(ftm_set_note): added/impl.
	(file_task_manager_class_init): get-/setNote support.

	* project-engine/task-manager.h:
	(struct _TaskManagerClass): added get-/setNote.

	* project-engine/task-manager.c:
	(impl_TaskManager_getNote): added/impl.
	(impl_TaskManager_setNote): added/impl.
	(task_manager_class_init): get-/setNote support.

	* idl/GNOME_MrProject_TaskManager.idl: added get-/setNote.

	* idl/GNOME_MrProject_Common.idl: added struct Note.

2001-10-01  Richard Hult  <rhult@codefactory.se>

	* client/widgets/goto-popup.c: Make it work properly again with
	both the combo popup and the dialog window.

	* client/components/gantt/gantt-component.c
	(gantt_control_activate): Show all goto buttons.

	* client/components/calendar/calendar-component.c
	(calendar_control_activate): Don't show "selected task" button.

	* client/widgets/goto-popup.c: Clean up, add flags to specify
	which buttons to show.

	* client/components/calendar/Makefile.am: Link with manager
	clients lib.

2001-09-28  Richard Hult  <rhult@codefactory.se>

	* client/components/calendar/month-view.c (month_view_class_init):
	Add a signal "first-day-changed".
	(month_view_on_adjustment_changed): Emit it.
	(month_view_set_first_day_shown): Ditto.

	* client/components/calendar/calendar-component.c
	(cc_control_new): Add a label that shows the currently first shown
	date. Switch the order of the year and month buttons.
	(first_day_changed): Update the label.

	* client/components/gantt/gantt-component.c
	(gantt_control_activate): Clean up and don't set an icon for the
	control, it has its own.

	* client/components/calendar/calendar-component.c
	(calendar_component_add_to_shell): Connect to "activate" signal on
	control.

	* client/components/calendar/GNOME_MrProject_CalendarComponent.ui:
	Add.

	* client/components/calendar/Makefile.am: Add ui file.

	* client/widgets/goto-popup.[ch]: New files, took this out from
	the gantt component so that we can use it in the calendar as
	well.

	* client/components/gantt/gantt-component.c
	(gantt_control_activate): Use the goto popup widget.

	* client/GNOME_MrProject_Client.ui: Remove undo/redo.

2001-09-27  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/gantt-component.c (tree_set_value_at):
	Parse the unit.

	* client/GNOME_MrProject_Client.ui: Clean up.

	* client/components/gantt/gantt-component.c (create_tree_extras):
	Make duration cell editable.
	(tree_set_value_at): Parse the duration string.

	* client/project-window.c (project_window_really_exit): Eek,
	actually save when the user presses "save and quit".

2001-09-26  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/gantt-component.c: Remove unneccessary
	include.

2001-09-25  Richard Hult  <rhult@codefactory.se>

        * README.translation: Add translation guide from Christian Rose.
	
	* client/project-window.c (about_cb): De-improve a bit.

2001-09-25  Anders Carlsson  <andersca@codefactory.se>

	* client/project-window.c (about_cb): Some improvements to the
	about box.

2001-09-22  Richard Hult  <rhult@codefactory.se>

	* configure.in (VERSION): Bump version to 0.4.90.
	Add back warning about HEAD.

	* project-engine/backends/Makefile.am: Add -avoid-version to the
	loaders and also -module to the mpx loader since it didn't have
	that.

	* configure.in (python_val): Don't build python stuff unless
	explicitly told to.

	* mrproject.spec.in: Add man pages.

	* configure.in: Up version to 0.4
	(VERSION): or 0.4.0.

	* client/components/*/Makefile.am: Use -avoid-version to avoid
	version numbers on the component libs.

2001-09-21  Richard Hult  <rhult@codefactory.se>

	* client/template-dialog.c: ifdef out unused stuff for now, put
	back when we can use a newer released gal.

	* client/components/network/network-component.c
	(nc_tasks_removed_cb): Remove unused variable.

	* README: Update.

	* configure.in (VERSION): Bump version to 0.3.101.

	* project-engine/backends/file-project.c (fp_load): Add a
	workaround if mrproject is not installed in the same prefix as
	gnome-vfs.

	* client/components/calendar/calendar-component.c
	(calendar_component_factory): Listen to the start property.

	* client/shell.c (shell_set_range): Handle exceptions.

	* client/components/calendar/month-view-main-item.c (DEBUG): Use
	debug macro.

	* client/components/calendar/calendar-component.c
	(calendar_component_class_init): Add shell event method.
	(cc_shell_event): Impl, listen to project start date.

	* client/components/gantt/gantt-component.c: Remove unused include.

	* client/components/calendar/month-view-task-item.c: Use new debug
	macro. 

	* util/debug.h (DEBUG_ENABLED): Turn off debugging globally.

2001-09-21  Mikael Hallendal  <micke@codefactory.se>

	* client/components/calendar/month-view-task-item.c:
	(month_view_task_item_draw): works better with where to draw
	string.

2001-09-21  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/month-view.c 
	(month_view_clear_visible_tasks): Added function.
	(month_view_clear_tasks): Added function.
	(month_view_create_spans): Added function.
	(month_view_set_first_day_shown): Now calls 
	month_view_clear_visible_tasks and month_view_create_spans when
	the month is changed.
	(month_view_layout_tasks): Now calls 
	month_view_recalc_cell_sizes(...) to solve a minor issue.

	* client/components/calendar/calendar-component.c 
	(calendar_component_control_new): Now sets first_day_shown to 
	the beginning of the month - thus looking a little nicer.

2001-09-21  Mikael Hallendal  <micke@codefactory.se>

	* client/components/calendar/month-view.h: use GM_*

	* client/components/calendar/month-view.c:
	(month_view_realize): 
	 added MONTH_VIEW_COLOR_SUMMARY_EVENT_BACKGROUND.
	(month_view_get_task): added/impl. Needed by month-view-task_item
	 to check if it's a summary task.

	* client/components/calendar/month-view-task-item.c:
	(month_view_task_item_draw): 
	- updated to draw summary tasks in another color.
	- also tried to fix so that name gets drawn in middle of the
	  taskbox. This should be looked into more.
	(month_view_task_item_draw_triangle): summary bg_color-stuff.

2001-09-21  Richard Hult  <rhult@codefactory.se>

	* client/GNOME_MrProject_Client.ui: Disable the settings for now.

	* client/components/calendar/calendar-component.c
	(calendar_component_control_new): Add buttons for moving around in
	the calendar.
	(year_back_clicked): Add.
	(year_forward_clicked): Add.
	(month_back_clicked): Add.
	(month_forward_clicked): Add.
	(goto_today_clicked): Add.
	(calendar_component_control_new): Change shadow type from none to
	out.

	* client/components/calendar/month-view.c
	(month_view_set_first_day_shown): Add checks.
	(month_view_get_first_day_shown): Implement.

	* client/components/calendar/calendar-component.c
	(calendar_component_control_new): Set the current date as first
	day shown.

2001-09-21  Mikael Hallendal  <micke@codefactory.se>

	* client/components/calendar/month-view.c:
	(month_view_realize): use same green color for tasks as used in
	gantt diagram.

	* client/components/calendar/month-view-task-item.c:
	(month_view_task_item_draw): use eel-gdk-font-extensions to
	ellipsize the taskname.

2001-09-21  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/month-view.c 
	(month_view_recalc_cell_sizes): Added a snippet of code to make sure
	all availible space was used - looks nicer this way. Perhaps
	should use some more intelligent code though.

	* client/components/calendar/calendar-component.c 
	(cc_items_clear_cb): Added callback.
	(calendar_component_add_to_shell): Now listens to the 
	items_clear-signal too.
	(cc_task_inserted_cb): No reasong to calendar-component to
	keep records of the tasks added.

2001-09-21  Richard Hult  <rhult@codefactory.se>

	* client/components/calendar/month-view.c
	(month_view_get_span_position): Fix crash when inserting a task
	and the calendar is not realized.

2001-09-21  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/month-view.c 
	(month_view_init): Now initialises and allocates the various 
	vectors.
	(month_view_size_allocate): Computes the real height of the 
	month_view.
	(month_view_recalc_cell_sizes): Handling of variable number of rows
	for each week added.
	(month_view_layout_get_day_position): Now handles variable number
	of rows for each week.
	(month_view_get_day_position): same here.
	(month_view_layout_tasks): Even more sane code has been added, now it
	basicly lays out the task in a nice way.
	(month_view_insert_task): calls month_view_layout_tasks(...)
	(month_view_update_task): ditto.
	(month_view_remove_task): here too.
	(month_view_compare_task_length): Works much better when using
	MonthViewTask instead of GM_Task.
	(month_view_reflow_idle): Added function to call update on every span.
	(month_view_reflow): Added wrapper-function for the creation of the 
	timeout.
	(month_view_layout_tasks): Now tracks the max-row instead of the "first"
	row - should solve some layout-problems.
	(month_view_layout_tasks): Ugly hack causes the rows to assume correct
	value dispite deletions of tasks.
	(month_view_reflow_idle): Now called gtk_widget_queue_draw(...)
	(month_view_size_allocate): Calls month_view_reflow(...) to make sure
	everything is updated.
	(month_view_clear): Added function to clear all tasks and stuff away.
	(month_view_clear_tasks): Added callback to destroy each MonthViewTask.

	*: Removed various debug-messages which were just plain annoying.
	

2001-09-20  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/month-view.c 
	(month_view_remove_task): Added code to do something useful.

2001-09-20  Richard Hult  <rhult@codefactory.se>

	* client/template-dialog.c (template_table_value_at): Comment out
	a few unused functions. Put back when we can depend on recent GAL.

	* client/components/gantt/gantt-component.c (load_end_cb): Eek set
	loading to FALSE when we're done, not TRUE. Fixes insensitive
	buttons.

	* client/components/network/arrow-item.c (arrow_item_new): Destroy
	the arrow when either of the boxes are destroyed.

	* project-engine/task-manager.c (remove_dependencies): New
	function that updates a tasks predecessors and successors by
	removing the task itself from the pre/suc tasks. This fixes bugs
	with dangling dependencies.

	* project-engine/backends/file-task-manager.c
	(ftm_remove_task_model): Actually destroy the task model... 

	* client/shell.c (shell_remove_from_project): Wrap debug print
	with d().

	* project-engine/backends/file-task-manager.c (ftm_get_children):
	Warn if data is NULL and don't add it to the list.

	* project-engine/task-manager.c (dfs_insert_tasks): Robustify.
	(impl_TaskManager_removeTasks): Notify clients before we remove
	the tasks.

	* mrproject.spec.in: s/server/engine/.

	* client/components/network/task-box.c (tb_update_task): Utf-8 to
	locale string.

	* client/components/gantt/gantt-component.c (set_status_message):
	Convert utf-8 to locale string for the status bar.

2001-09-20  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/month-view-task-item.c 
	(month_view_task_item_draw): Commented away some definitions
	to avid causing warnings.

	* client/components/calendar/month-view.c: Fixed
	various warnings and #ifdef'ed away some functions not
	being used right now.

	* client/components/calendar/month-view-task-item.c 
	(month_view_task_item_draw): Added a clipping-rect to 
	prevent the title to being drawn outside of the rectangle.
	(month_view_task_item_draw): Now also computes the correct
	center for placement of the title.

	* client/components/calendar/calendar-component.c
	(cc_tasks_removed_cb): Calls month_view_remove_task.
	Now includes debug.h

	* client/components/calendar/month-view.h: 
	Added month_view_remove_task(...)-declaration,
	also did a minor layout-thing.

	* client/components/calendar/month-view.c 
	(month_view_compare_task_start): Added function.
	(month_view_get_span_position): Now computes the
	correct length and start for each span of a task.
	(month_view_layout_tasks): Added some code here,
	not used thought - since I might not need it.
	(month_view_update_spans): Now counts from the start
	of a week, thus allowing for correct creation of spans
	for partial weeks.
	(month_view_remove_task): Added stub for this
	feature.

	* client/components/calendar/month-view-task-item.c 
	(month_view_task_item_draw): Now uses the 
	e_utf8_to_locale_string(...)-function to handle utf8.

	* client/components/calendar/Makefile.am 
	(libcalendar_component_la_LIBADD): Added GAL_LIBS.

2001-09-17  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/month-view.c 
	(month_view_update_spans): Now destroys the spans correctly,
	also removes the right arrow if needed of the last task.

2001-09-18  Richard Hult  <rhult@codefactory.se>

	* *: Use the debug macro.

	* client/components/network/task-box.c (tb_layout): Remove bogus
	FIXME.
	Don't hard code the font. Might revert this soon, or fix it 'cause
	it looks ugly.

	* configure.in (VERSION): Bump version to 0.3.100 to try the
	version mismatch detection code.

	* client/project-window.c (new_details_cb): Don't use the template
	dialog for now.
	(project_window_new): Set the title initially.

	* client/template-dialog.c (template_dialog_construct): Ifdef out
	some code that depends on e-table API that changed recently. Put
	back when it's actually used and GAL is released.

	* client/project-window.c (window_title_from_name): Rent this
	space? Add a plug for CodeFactory... :) And handle NULL string and
	zero length strings.

	* client/components/network/network-component.c
	(nc_canvas_realize): Sort.

2001-09-17  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/gantt-model.c
	(gantt_model_task_is_leaf): Use the task->type instead of poking
	at the etree. Grrrr I thought I had fixed this already.

	* client/components/network/network-item.c
	(network_item_class_init): Remove C++ comments.

	* project-engine/task-manager.c (impl_TaskManager_reparentTask):
	Update summary/normal status when reparenting.

	* client/components/gantt/gantt-component.c (load_begin_cb):
	Impl. 
	(load_end_cb): Impl.
	(set_sensitivity_and_status): Don't bother if we are loading.

	* client/components/Makefile.am (SUBDIRS): I am a doofus.

	* client/components/calendar/calendar-component.c
	(cc_task_inserted_cb): Don't make a CORBA call in the event
	callback code path.

	* NEWS (News): Fix tyop.

	* util/debug.h: New file with debugging utilities. Have a global d
	macro that can be disabled globally.

	* client/components/network/network-component.c (nc_load_end_cb):
	Add. 
	(nc_load_begin_cb): Add.
	(nc_sort): Only schedule idle sort if we're not loading.

	* client/manager-clients/manager-client.c
	(manager_client_class_init): Add signals for load_begin/end.
	(mc_listener): Listen for and forward load_begin/end.

	* project-engine/project.c (impl_Project_load): emit load_begin
	and load_end events.

	* client/components/network/network-component.c
	(nc_canvas_realize): Don't do an explicit sort here, use the idle
	sorter instead.

	* client/components/network/arrow-item.c (set_arrow_start): Use
	the item->[xy][12] coords directly instead of getting the bounds
	and transform them.
	(set_arrow_end): Ditto.

2001-09-17  Thomas Nyberg  <thomas@codefactory.se>

	* client/components/calendar/month-view.c 
	(month_view_update_task): Added function.

	* client/components/calendar/month-view-task-item.c 
	(month_view_task_item_update): Added function.
	(month_view_task_item_draw): Added function.
	(month_view_task_item_draw_triangle): Added function.

	* client/components/calendar/month-view.c 
	(month_view_get_task_title): Added function.
	(month_view_get_time_string_width): Added function.
	(month_view_get_span_position): Added function.

	* client/components/calendar/*.[ch]: Minor tweaks and hacks.

	* client/components/calendar/month-view-task.h: Added definition
	into it's own file to avoid "circular inclusion" :)

2001-09-17  Mikael Hallendal  <micke@codefactory.se>

	* NEWS (News): updated.

2001-09-17  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/gantt-arrow-item.c
	(gantt_arrow_item_new): connect while arrow is alive, not
	predecessor. Fixes criticals and a crash.

2001-09-16  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/gantt-row-item.c (real_idle_update): Ditto.

	* client/components/gantt/gantt-item.c (real_reflow): Do not
	remove the idle source in the idle callback, this can corrupt
	glib's list of idles!

	* util/corba-utils.c (corba_util_id_string_from_list): Change
	warnings to message (for empty lists).

	* project-engine/resource-manager.c
	(impl_ResourceManager_removeResources): Ditto.

	* project-engine/task-manager.c (impl_TaskManager_removeTasks):
	CORBA_free the corba string instead of g_freeing it (caught by
	enabling mem check on glib...).

2001-09-15  Richard Hult  <rhult@codefactory.se>

	* project-engine/project.c (project_init): Add readable/writeable
	flags. Also add Version property for checking for version mismatch
	between engine/front end.
	(get_prop): Add version property.

	* util/Makefile.am (INCLUDES): Add VFS includes to fix build with
	newer gnome-vfs.

2001-09-14  Mikael Hallendal  <micke@codefactory.se>

	* client/manager-clients/resource-manager-client.[ch]: style
	fixes.

	* client/manager-clients/allocation-manager-client.[ch]: style
 	  fixes.

	* client/manager-clients/task-manager-client.[ch]: style fixes.

2001-09-14  Mikael Hallendal  <micke@codefactory.se>

	* client/components/resource/resource-component.c:
	(rc_cmd_remove): removed unused variable.

	* project-engine/backends/file-resource-manager.c:
	(frm_remove_resources): fixed a typo of mine, thanks jeroen.

2001-09-13  Richard Hult  <rhult@codefactory.se>

	* client/components/network/network-canvas.c
	(network_canvas_clear): Remove idle source.

	* client/components/network/network-component.c
	(network_component_destroy): Remove the idle source and null out
	priv after freeing.
	(nc_items_clear_cb): Remove idle source.

	* client/components/network/network-canvas.c
	(network_canvas_clear): Impl.

	* client/components/network/network-component.c
	(network_component_add_to_shell): Connect to items_clear signal.
	(nc_items_clear_cb): Add.

2001-09-13  Mikael Hallendal  <micke@codefactory.se>

	* util/corba-utils.c (corba_util_id_seq_to_list): 
	- Take id_seq as a const.

	* project-engine/backends/file-resource-manager.c:
	(frm_remove_resources): renamed, takes a list of ids.

	* project-engine/resource-manager.c: 
	- Remove resources stuff.
	- Redid virtual remove_resource to take a list of id's.
	- Updated to match IDL.
	(impl_ResourceManager_removeResources): renamed, takes a list.
	- Send a rhult-hack-list.

	* idl/GNOME_MrProject_ResourceManager.idl: 
	- renamed removeResource to removeResources, takes a IdSeq.

	* client/manager-clients/resource-manager-client.c:
	(rmc_listener): recieve removed resources as a rhult-hack-string.
	(resource_mc_remove_resources): renamed from
	resource_mc_remove_resource. It takes a list of ids.

	* client/components/resource/resource-component.c:
	- Added support for multiple remove.
	(rc_foreach_remove): added
	(rc_cmd_remove): added support for sending a list of removed ids.

	* client/manager-clients/manager-client.c:
	(mc_listener): emit items_clear.
	
	* client/manager-clients/task-manager-client.c:
	(tmc_project_set): removed a g_warning that shouldn't be there.

	* client/manager-clients/resource-manager-client.c:
	(rmc_project_set): removed a g_warning that shouldn't be there.

	* client/manager-clients/allocation-manager-client.c:
	(amc_project_set): removed a g_warning that shouldn't be there.

	* client/components/resource/resource-component.c: removed some
	  debug printouts.

2001-09-13  Richard Hult  <rhult@codefactory.se>

	* project-engine/task-manager.c (task_check_constraints): Some
	test code to try and fix a few bugs. Commented out so far.

	* client/components/gantt/gantt-component.c (cmd_zoom_entire):
	Impl.

	* client/components/gantt/gantt-chart.c (gantt_chart_zoom_entire):
	Refactor.

	* client/components/gantt/GNOME_MrProject_GanttComponent.ui: Add
	command to zoom to the entire project.

	* client/components/gantt/gantt-item.c: Remove unused state
	variable and enum type.
	Remove source_model stuff as well, it was not used.

	* project-engine/task-manager.c (dfs_sort): Free node data.

	* client/components/network/arrow-item.c (arrow_item_new): Connect
	while alive.

	* client/components/network/network-component.c: Use the idle
	sorter instead of explicitly sorting after every operation.

	* client/components/network/task-box.c (task_box_reparent): Impl.

	* client/components/network/network-component.c
	(nc_task_reparented_cb): Impl.

2001-09-12  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/gantt-row-item.c (draw_bracket): Tweak
	the thickness of the bracket.

	* client/components/gantt/gantt-component.c
	(gantt_component_insert_subtask): Inherit the parent's length.

2001-09-11  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/gantt-row-item.c: Remove the
	selected_frame gc, and use the frame gc always. This simplifies
	the drawing code quite a bit.

	* client/components/gantt/gantt-arrow-item.c: Use the new
	_get_geometry function.

	* client/components/gantt/gantt-row-item.c
	(gantt_row_item_get_geometry): New function to get the
	position/size of a bar (can't use bounds since they include the
	label).

	* client/components/gantt/gantt-item.c (gantt_item_draw): Enable
	drawing of the scale ticks again.

	* client/components/gantt/gantt-arrow-item.[ch]: New files that
	replace gantt-link-item.[ch]. Subclass GnomeCanvasLine instead of
	doing the drawing ourselves.

2001-09-10  Richard Hult  <rhult@codefactory.se>

	* extras/images/*: Added some more stock images from gtk+ 2. Not
	really neccessary but it looks nice :).

	* client/components/gantt/gantt-row-item.c
	(gantt_row_item_update): Doh, we were never saving the calculated
	label width, put it in priv->label_width (which was never
	initialized before...).
	(gantt_row_item_draw): Do not use the bar width + label width to
	decide what area to draw, just use the bar width. This fixes the
	bar messing up the link arrow drawing.

	* client/components/gantt/gantt-item.c: More style.

	* client/components/gantt/gantt-row-item.c: Fix coding style issues.

2001-09-09  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/gantt-component.c (set_status_message):
	Refactor. 

	* client/components/resource/resource-component.etspec: Ditto.

	* client/components/gantt/gantt-component.etspec: Make selection
	with the keyboard possible.

	* client/components/gantt/gantt-component.c (set_status_message):
	Fix this to actually set the message when one task is selected.
	
	* client/components/network/network-item.c
	(predecessor_destroyed): Remove the predecessor from the item's
	list when it is destroyed.
	(network_item_link): Connect to destroy signal on predecessor.

2001-09-08  Richard Hult  <rhult@codefactory.se>

	* project-engine/backends/file-project.c: Include gnome-vfs-uri.h,
	patch from Mr Grib :)

	* client/components/gantt/gantt-component.c (cmd_select_all):
	Don't call set_sensitivity, that will be done in the
	selection_changed callback.
	(cmd_invert_selection): Ditto.

2001-09-07  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/e-tree-extensions.c
	(get_selected_rows_cb): Never add -1 to the list of selected row
	numbers.

	* project-engine/backends/file-project.c (fp_save): Fall back on
	the navite format for saving.

	* client/components/gantt/gantt-component.c
	(set_sensitivity_and_status_message): Don't play with
	sensitivity/status message if we're inactive.

	* client/components/gantt/gantt-model.c
	(gantt_model_get_num_tasks): Add.

	* client/components/gantt/gantt-component.c
	(set_sensitivity_and_status_message): Guard against null path and
	task. Fixes crash.
	
	* project-engine/backends/file-project.c (fp_load): Try the native
	loader if the mime-type could not be determined. Thanks to grib
	for reporting this.

	* idl/GNOME_MrProject_FileFilter.idl: Remove the file not found
	exception.

	* project-engine/backends/xml-file-filter.c (xff_load): Remove the
	file not found testing from here.

	* project-engine/backends/file-project.c (fp_load): Raise
	MethodNotSupported if we don't find a loader.
	(fp_load): Fix this one. Check if the uri exists before even
	trying to activate loaders. Free exception.

	* client/main.c (main): Add human readable string for URINotFound
	exception.

2001-09-06  Richard Hult  <rhult@codefactory.se>

	* project-engine/backends/file-project.c (fp_load): Set
	URINotFound if the file is not found.

	* client/project-window.c (open_cb): Only show a new window if we
	succeeded in opening the file. Fixes #211.

	* project-engine/backends/xml-file-filter.c (xff_load): If the
	file is not found, raise FileNotFound instead of Failure.

	* idl/GNOME_MrProject_FileFilter.idl: Don't let the save method
	raise FileNotFound, that does not make sense.

	* client/components/gantt/gantt-component.c (cmd_edit): Unref the
	control as soon as we got the taskdialog interface from it. This
	plugs a bonobo object ref leak keeping the taskdialog object alive
	after the dialog was destroyed. This also has the effect that the
	engine shutdowns cleanly even after the task dialog has been shown
	:)

	* project-engine/backends/xml-file-filter.c (xml_read_task):
	Initialize the task type, without this the summary/normal changes
	did not work. Weird.

	* project-engine/task-manager.h: Use short names.

	* client/components/task-dialog/task-dialog-gui.c
	(tdg_update_gui): We have to check explicitly if type is summary.

	* project-engine/backends/GNOME_MrProject_MpxFileFilter.oaf.in.in:
	Add mime type.

	* project-engine/backends/file-project.c (fp_load): Simplify logic.
	(fp_load): Only query for loaders that handles our mime type.
	(fp_save): Query for loaders that handle our mime type. Simplify
	logic, and release the activated loaders.

	* project-engine/backends/xml-file-filter.c (xff_destroy):
	Rerevert: chain up to parent destroy and null out priv pointer.

	* project-engine/backends/file-filter.c (file_filter_destroy):
	Rerevert: chain up to parent destroy.

	* project-engine/backends/GNOME_MrProject_XmlFileFilter.oaf.in.in:
	Add mime type attribute.

	* client/components/calendar/calendar-component.c
	(calendar_component_destroy): Destroy the task manager client so
	that the engine can be cleanly shutdown again. NULL out priv after
	freeing it.
	(calendar_component_remove_from_shell): Destroy client here as
	well.

	* client/components/gantt/gantt-component.c: Change the IS_SUMMARY
	macro to use the task->type instead of poking around in the etable
	model.

	* client/components/task-dialog/task-dialog.c
	(td_task_updated_cb): Remove debugging message.

	* client/components/task-dialog/task-dialog-gui.c
	(tdg_update_gui): Make the spinbutton sensitive if we have a
	normal task.

	* project-engine/task-manager.c (impl_TaskManager_removeTasks):
	Keep a list of the parents of the tasks we remove, and update
	their summary/normal status after removal.

	* project-engine/allocation-manager.c (am_tasks_removed): Get ids
	from a string instead of sequence.

	* client/manager-clients/task-manager-client.c (tmc_listener):
	Change to get the ids from a string instead of a sequence.

	* project-engine/task-manager.c (impl_TaskManager_removeTasks):
	Instead of emitting the sequence of integers which made the client
	crash, put the ids in a :-delimited string... eek.

	* client/components/network/network-canvas.c
	(network_canvas_insert_task): Connect to "destroy" on the newly
	created items so that we can remove them from the idmap when they
	go away.
	(item_destroyed): Remove from idmap when we go away.

	* util/corba-utils.c: Include stdlib.h for strtol.
	(corba_util_id_string_from_list): Eek, gross hack.
	(corba_util_id_string_to_list): Another one.

	* client/components/gantt/gantt-model.c
	(gantt_model_get_prev_sibling): Clean up slightly, reword comments.
	(gantt_model_get_next_sibling): Make this work like _prev_sibling,
	this should fix #213. 
	Changed everything to use our short versions of the CORBA type names.

	* client/components/gantt/gantt-component.c (up_or_down): Fix style.

	* client/GNOME_MrProject_Client.ui: Use new icons.

	* client/project-window.c (project_window_new): Use new icons.
	(set_pixmap): Copy from gantt-component (should it be in util?).

	* extras/images/24_{open,save,new}.png: New files added from gtk+
	HEAD stock images.
	
	* client/components/gantt/GNOME_MrProject_GanttComponent.ui:
	Remove debug button.
	
2001-09-05  Richard Hult  <rhult@codefactory.se>

	* client/components/gantt/gantt-component.c
	(task_repositioned_cb): Select the task again now that we don't
	use reposition as an ugly hack after insertTask.

	* client/components/gantt/gantt-model.c (gantt_model_insert_task):
	Remove the call to e_tree_model_node_data_changed () now that the
	server actually emits "updated" when a task's type changes. Yay!

	* client/components/gantt/gantt-component.c
	(gantt_component_insert_below): Remove lots of crack. This can be
	made really simple now.

	* project-engine/backends/file-task-manager.c (ftm_insert_task):
	If type is TASK_AFTER, increase offset, otherwise don't.

	* client/components/network/network-component.c
	(nc_task_inserted_cb): Change prototype as below.

	* client/manager-clients/task-manager-client.c
	(task_mc_insert_task_full): Impl.

	* util/corba-utils.h (GM_TaskType): Add TaskType.

	* project-engine/task-manager.c (impl_TaskManager_createTask): Set
	type to normal initially.

	* project-engine/backends/file-task-manager.c (ftm_insert_task):
	Take the sibling id in account and insert the task in the right
	position.

	* client/components/calendar/calendar-component.c
	(cc_task_inserted_cb): Change as below. 

	* client/components/gantt/gantt-component.c (task_inserted_cb):
	Change prototype to reflect the signal prototype changes.

	* client/manager-clients/task-manager-client.c (tmc_listener):
	Change to reflect the changes in "inserted" event data.
	(task_mc_class_init): Change the signal prototype, we send sibling
	id and ordering type now.

	* idl/GNOME_MrProject_TaskManager.idl: Add EventTaskInserted
	struct.

	* project-engine/task-manager.c (impl_TaskManager_removeTasks):
	Add commented out code to set the type back to normal if a task
	becomes non-summary after removal. Does not work yet.
	(tm_insert_full): Change the event data to the EventTaskInserted
	struct with the task, sibling, and ordering type.

	* project-engine/backends/file-task-model.c
	(ftm_get_num_children): Impl.

	* project-engine/task-model.h (struct _TaskModelClass): Add
	virtual method to get number of children of a task.

	* project-engine/task-model.c (task_model_get_num_children): Add.

	* project-engine/task-manager.c (tm_insert_full): Split out common
	implementation and put it here.
	(impl_TaskManager_insertTask): Use the above.
	(impl_TaskManager_insertTaskFull): Ditto.
	(tm_insert_full): Set the parent task type to summary here and emit
	updated event on the parent task.
	(tm_set_task_type): Add, sets the task type and emits update event.

	* idl/GNOME_MrProject_TaskManager.idl: Add a new method,
	insertTaskFull, that takes a sibling id and before/after flag. If
	things work out, we should probably have this instead of the
	insertTask, and rename it to insertTask.

	* idl/GNOME_MrProject.idl: Remove the #define/pragma hack, it
	should not be neccessary any more. Include the common idl.

	* libmrproject/Makefile.am: Add new idl.

	* idl/Makefile.am (idl_DATA): Add new idl.

	* idl/GNOME_MrProject_Common.idl: Split out declarations from
	the main idl and put here.

	* client/components/gantt/gantt-component.c
	(gantt_component_delete_task): Add "delete task" to the
	right-click menu.
	(gantt_setup_right_click_menu): Don't add a GtkSeparator, just add
	an empty menu item.

2001-09-05  Mikael Hallendal  <micke@codefactory.se>

	* util/corba-utils.h: added GM_ResourceType.

	* client/components/resource/resource-table-model.[ch]: cleanups

	* client/components/resource/resource-component.[ch]: cleanups

	* client/components/resource/print-resources.c: cleanups

	* client/components/resource/group-dialog.[ch]: cleanups

	* client/components/task-dialog/task-dialog.[ch]: cleanups

	* client/components/task-dialog/links-table-model.[ch]: cleanups

	* client/components/task-dialog/alloc-table-model.[ch]: cleanups

	* client/components/task-dialog/task-dialog-gui.[ch]: cleanups

	* client/components/gantt/gantt-component.c:
	(gantt_setup_right_click_menu): added a separator.
	(e_tree_right_click): added/impl. 
	(gc_control_new): connect to right-click from ETree.
	(gantt_component_edit_task_activate): added/impl., show the
	  TaskDialog. 
	(gantt_setup_right_click_menu): added/impl. setup right click
	  popup menu.
	(gantt_component_insert_subtask): added/impl. inserts a subtask of
	  currently selected task.
	(gantt_component_insert_below): added/impl. inserts a task below
	  currently selected task.

	* client/components/resource/resource-component.c:
	(rc_setup_right_click_menu): mark menu_items for translation.

2001-09-05  Richard Hult  <rhult@codefactory.se>

	* client/components/resource/resource-component.c
	(rc_resource_inserted_cb): Grab focus for the etable.

	* client/components/gantt/gantt-component.c (task_inserted_cb):
	Selected the newly inserted task.
	(cmd_insert): Insert new tasks at the same level as the selected
	instead of as a child of the selected task. Yay!

	* client/components/network/task-box.c (task_box_remove_child):
	Special case the invisible root box, never turn it into a task box
	when removing children.

	* client/components/gantt/gantt-model.c
	(my_e_tree_model_get_child_offset): Prefix with my_ to make it
	more clear that this is not in gal.

	* client/components/network/network-component.c
	(nc_tasks_unlinked_cb): Uglify (make it resort the boxes after
	unlink).

	* client/components/network/network-canvas.c
	(network_canvas_unlink): Impl.

2001-09-04  Richard Hult  <rhult@codefactory.se>

	* client/components/network/task-box.c (tb_layout): Fix summary
	box bounds calculation.
	(tb_layout): Fix up column layout so that boxes don't overlap.

	* client/components/network/network-canvas.c
	(network_canvas_sort): Don't try to do anything if we don't have
	any items. Should fix crash.

	* client/components/network/*: Lots and lots of