I see seeds of truth in both arguments. Slavery was the catalyst on which the Southern States could no longer tolerate encroachment by the Federal government. They had according to Mississippi's declaration of secession more than 4 billion of money at stake. The federal government's encroachment on slavery represents a conflict of state's rights vs federal power. Thus you are both right. Slavery causes the war because government regulation of it against the will of the states threatens states rights.
Georgia's declaration of secession in its entirety emphasizes that the conflict is over states rights and slavery is the issue which has created the conflict of interest. The declaration says:
For the last ten years we have had numerous and serious causes of complaint against our non-slaveholding confederate States with reference to the subject of African slavery. They have endeavored to weaken our security, to disturb our domestic peace and tranquility, and persistently refused to comply with their express constitutional obligations to us in reference to that property, and by the use of their power in the Federal Government have striven to deprive us of an equal enjoyment of the common Territories of the Republic.
The public law of civilized nations requires every State to restrain its citizens or subjects from committing acts injurious to the peace and security of any other State and from attempting to excite insurrection, or to lessen the security, or to disturb the tranquillity of their neighbors, and our Constitution wisely gives Congress the power to punish all offenses against the laws of nations.
These are sound and just principles which have received the approbation of just men in all countries and all centuries; but they are wholly disregarded by the people of the Northern States, and the Federal Government is impotent to maintain them.
The State of South Carolina's declaration makes it even clearer that the Southern States are concerned that the Federal Government will use slavery to violate States Rights. This declaration says:
The people of the State of South Carolina, in Convention assembled, on the 26th day of April, A.D., 1852, declared that the frequent violations of the Constitution of the United States, by the Federal Government, and its encroachments upon the reserved rights of the States, fully justified this State in then withdrawing from the Federal Union; but in deference to the opinions and wishes of the other slaveholding States, she forbore at that time to exercise this right. Since that time, these encroachments have continued to increase, and further forbearance ceases to be a virtue.
If anyone is interested in seeing these declarations in their entirety they can go to:
Georgia
http://www.civil-war.net/pages/georgia_declaration.asp
South Carolina
http://facweb.furman.edu/~benson/docs/decl-sc.htm
Slavery was the catalyst on which the Southern States could no longer tolerate encroachment by the Federal government. - from the Georgian declaration
In what way were the rights of Georgia encroached upon? Had the Federal government attempted to outlaw slavery? No. Indeed, Lincoln promised not to do anything about slavery in the states in which it resided. And of course, Lincoln had not even taken office when that Georgian declaration was written and the previous administrations were all hospital to the institution of slavery. Douglas's popular sovereignty was an attempt to allow slavery's spread.
The problem really came down to this: Lincoln and many in the North wanted the expansion of slavery halted with the hopes that with its containment it would eventually wither on the vine. The South wanted to see slavery expanded into the territories in the belief that that would strengthen their political power and safeguard slavery in perpetuity.
Let me say one thing more. The true test of Democracy is how people respond when they lose an election. Do they react with respect and acceptance towards the democratic institutions or do they react in anger and bullets? Lincoln was elected fairly and constitutionally. The South did not wait to see what Lincoln would actually do as President; instead they declared themselves independent. Why? The bottom line is they seceded because they lost an election.
So much for their high ideals.